簡體   English   中英

如何向 Gio::Menu 添加分隔符

[英]How to add a separator to Gio::Menu

我正在使用 GTK3 和 gtkmm 編寫應用程序。 我正在向 header 欄添加一個菜單按鈕。 到目前為止,我可以顯示項目,但無法添加分隔符。

這是我創建菜單的地方:

auto main_menu = Gio::Menu::create();

...並添加一些項目:

main_menu->append("Export to WAV", "app.exportToWav");
main_menu->append("About", "app.about");

這就是我得到的:

在此處輸入圖像描述

但是我想在兩個項目之間添加一條水平線。 使用Gio::Menu似乎沒有明顯的方法可以做到這一點,我想要那個彈出窗口。 我嘗試添加一個內容為“-”的項目,但沒有任何作用。 Gtk::SeparatorMenuItem存在,但似乎不兼容。 這種菜單甚至可行嗎?

我想通了。 事實證明,對於Gio::Menu ,您本身並沒有指定“分隔符”。 相反,您指定部分。

本質上,這意味着創建多個菜單,然后使用append_section(Gio::MenuModel) function 將它們組合到一個菜單中。

這是我最終做的:

// Create master menu
auto main_menu = Gio::Menu::create();

// Create menu sections
auto main_menu_section1 = Gio::Menu::create();
auto main_menu_section2 = Gio::Menu::create();

// Add item(s) to first section
main_menu_section1->append("Export to WAV", "app.exportToWav");

// Add item(s) to second section
main_menu_section2->append("About", "app.about");

// Append the new sections to the master menu
main_menu->append_section(main_menu_section1);
main_menu->append_section(main_menu_section2);

然后,每個部分由一條水平線分隔:

它很微弱,但它就在那里 它很微弱,但它就在那里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM