我正在试验 GtkD UI 库(用于 D 语言的 Gtk)并创建了一个带有菜单的简单窗口。菜单代码如下:
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();
}
}
窗口显示没有问题,菜单栏出现“文件”项,但是当我单击“文件”项时,其下方没有出现“退出”菜单。无论主窗口位于何处,带有 Exit 的菜单都会出现在屏幕位置 0,0!
换句话说,只要我点击“文件”,菜单就会出现在我电脑屏幕的左上角。
我是否在 Gtk 实现中发现了错误?我正在使用 GtkD 库的 3.9.0 版和 Gtk 运行时的 3.24.8 版。或者我在我的代码中遗漏了什么?如何让菜单正确显示?