Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyFLTK菜单栏中是否可能有图标?_Python_User Interface_Menu_Fltk - Fatal编程技术网

Python 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+

如何在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+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我也在等你。