首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GtkD函数不能正确显示菜单

GtkD函数不能正确显示菜单
EN

Stack Overflow用户
提问于 2020-07-27 23:27:31
回答 1查看 50关注 0票数 1

我正在试验Gtk库(用于D语言的GtkD ),并且已经创建了一个带有菜单的简单窗口。该菜单的代码如下:

代码语言:javascript
复制
class TopView : Box
{
   MainMenu theBar;

    this()
    {
        super(Orientation.VERTICAL,10);
        theBar = new MainMenu();
    
        packStart(theBar,false,false,0);
   }
}

class MainMenu : MenuBar
{
    private MenuItem fileItem;
    private FileMenu fileMenu;

    this()
    {
        super();

        fileItem = new MenuItem("File");
        fileMenu = new FileMenu();
 
        fileItem.setSubmenu(fileMenu);
        append(fileItem);
    }
}

class FileMenu : Menu
{
    private MenuItem exitItem;

    this()
    {
        super();

        exitItem = new MenuItem("Exit");
        exitItem.addOnActivate(&closeApp);
        append(exitItem);
    }

    private void closeApp(MenuItem anItem)
    {
        Main.quit();
    }
}

窗口显示时没有问题,菜单栏上显示的是“文件”项,但当我单击“文件”项时,“退出”的菜单不会出现在它下面。无论主窗口位于何处,带有退出的菜单都会出现在屏幕位置0,0!

换句话说,每当我点击“文件”时,菜单就会出现在我电脑屏幕的左上角。

我是否在Gtk实现中发现了一个bug?我使用的是GtkD库的3.9.0版和Gtk运行时的3.24.8版。或者我在代码中遗漏了什么?如何正确显示菜单?

EN

回答 1

Stack Overflow用户

发布于 2020-07-28 09:47:33

我找到了菜单显示不正确的原因:

这显然是Windows库中的一个错误。我将相同的代码复制到Linux环境中,编译并运行。菜单在其正确位置正确显示。在Windows上,此代码将菜单放在屏幕的左上角(位置0,0)。

我已经找到了报告这个bug的位置。希望维护GtkD和Gtk for Windows的人员能够相对较快地修复它……

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63118506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档