Python pyFLTK菜单栏中是否可能有图标?
如何在pyFLTK中制作这些图标 我的代码:Python pyFLTK菜单栏中是否可能有图标?,python,user-interface,menu,fltk,Python,User Interface,Menu,Fltk,如何在pyFLTK中制作这些图标 我的代码: 从fltk导入* def exitcb(小部件,v): w、 隐藏() def demo1cb(小部件,v): fl_消息(“这是Test1回调”) def demo2cb(小部件,v): fl_消息(“这是Test2回调”) w=Fl_窗口(600、50、300、400,“带图标的菜单”) w、 开始 菜单=Fl_菜单栏(0,0300,25) 菜单添加(“文件/退出”,FL\U F+5,退出,0,0) 菜单添加(“文件/打开/测试1”,FL_F+
从fltk导入*
def exitcb(小部件,v):
w、 隐藏()
def demo1cb(小部件,v):
fl_消息(“这是Test1回调”)
def demo2cb(小部件,v):
fl_消息(“这是Test2回调”)
w=Fl_窗口(600、50、300、400,“带图标的菜单”)
w、 开始
菜单=Fl_菜单栏(0,0300,25)
菜单添加(“文件/退出”,FL\U F+5,退出,0,0)
菜单添加(“文件/打开/测试1”,FL_F+6,demo1cb,0,0)
menu.add(“文件/Open/Test2”,FL_F+7,demo2cb,0,0)
飞行检查按钮(10、30、40、20,‘GG’)
w、 完()
w、 show()
Fl.run()
对不起,这比预期的时间要长一点。缺点是,这在当前版本的pyFltk中是不可能的。但是,如果您愿意再等一会儿,也就是说,直到pyFltk-1.3.6发布,那么我们将支持此功能。将再次出现一个名为“menu_label.py”的测试文件,显示该功能的使用情况。基本上,您需要做的是:
def addItemToMenu(menu, # menu to add item to
labeltext, # label text
shortcut, # shortcut (e.g. FL_COMMAND+'a')
cb, # callback to invoke
userdata, # userdata for callback
pixmap, # image (if any) to add to item
flags=0 # menu flags (e.g. FL_MENU_DIVIDER..)
):
# Add a new menu item
i = menu.add(labeltext, shortcut, cb, userdata, flags)
item = menu.find_item(labeltext)
item.add_multi_label(pixmap)
当然,这必须嵌入到整个代码中,例如:
def createMenuItems(menu):
# Add items with LABELS AND IMAGES using Fl_Multi_Label..
addItemToMenu(menu, "File/New", FL_COMMAND | ord('n'), onMenu, "New", L_document_pixmap)
addItemToMenu(menu, "File/Open", FL_COMMAND | ord('o'), onMenu, "Open", L_folder_pixmap, FL_MENU_DIVIDER)
addItemToMenu(menu, "File/Quit", FL_COMMAND | ord('q'), onFileQuit, "Quit", L_redx_pixmap)
# Create menu bar items with JUST LABELS
menu.add("Edit/Copy", FL_COMMAND | ord('c'), onMenu, "Copy")
menu.add("Edit/Paste", FL_COMMAND | ord('v'), onMenu, "Paste")
i = menu.add("Images/One", 0, onMenu, "One");
item = menu.find_item("Images/One")
l_img = L_document_pixmap.copy()
item.image(L_document_pixmap.copy())
i = menu.add("Images/Two", 0, onMenu, "Two")
item = menu.find_item("Images/Two")
item.image(L_folder_pixmap.copy())
i = menu.add("Images/Three", 0, onMenu, "Three")
item = menu.find_item("Images/Three")
item.image(L_redx_pixmap.copy())enter code here
这基本上就是Albrecht Schlosser转换为Python的示例
目前,我们预计pyFltk-1.3.6将在大约两周后发布
祝你好运
Andreas我希望创建一个
pyFLTK
标记。不幸的是,这不是现成的支持。然而,Albrecht Schlosser曾经在C++中创建了一个方法,你可以在这里找到使用FLUX多标签的方法:如果你给我一些时间,我会看看我是否能在PyFLTKK中工作。慢慢来,我在等你@Andreasnice@Andreas我也在等你。