1

私は 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 を使用しています。または、コードに何か不足していますか? メニューを正しく表示するにはどうすればよいですか?

4

1 に答える 1