[英]How can i add a delimeter to boost::escaped_list_separator?
[英]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.