中易网

python gui编程,我是初学者。用tk,制作下拉菜单的command不分我想打开另一个界面。如和解决,求解!!

答案:1  悬赏:80  
解决时间 2021-02-07 23:05
python gui编程,我是初学者。用tk,制作下拉菜单的command不分我想打开另一个界面。如和解决,求解!!
最佳答案
from tkinter import *

def new_file():
print("Open new file")

def open_file():
print("Open existing file")

def stub_action():
print("Menu select")

def makeCommandMenu():
CmdBtn = Menubutton(mBar, text='Button Commands', underline=0)
CmdBtn.pack(side=LEFT, padx="2m")
CmdBtn.menu = Menu(CmdBtn)

CmdBtn.menu.add_command(label="Undo")
CmdBtn.menu.entryconfig(0, state=DISABLED)

CmdBtn.menu.add_command(label='New...', underline=0, command=new_file)
CmdBtn.menu.add_command(label='Open...', underline=0, command=open_file)
CmdBtn.menu.add_command(label='Wild Font', underline=0,
font=('Tempus Sans ITC', 14), command=stub_action)
#CmdBtn.menu.add_command(bitmap="@bitmaps/RotateLeft")
CmdBtn.menu.add('separator')
CmdBtn.menu.add_command(label='Quit', underline=0,
background='white', activebackground='green',
command=CmdBtn.quit)

CmdBtn['menu'] = CmdBtn.menu
return CmdBtn

def makeCascadeMenu():
CasBtn = Menubutton(mBar, text='Cascading Menus', underline=0)
CasBtn.pack(side=LEFT, padx="2m")
CasBtn.menu = Menu(CasBtn)
CasBtn.menu.choices = Menu(CasBtn.menu)
CasBtn.menu.choices.wierdones = Menu(CasBtn.menu.choices)

CasBtn.menu.choices.wierdones.add_command(label='A')
CasBtn.menu.choices.wierdones.add_command(label='B')
CasBtn.menu.choices.wierdones.add_command(label='C')
CasBtn.menu.choices.wierdones.add_command(label='D')

CasBtn.menu.choices.add_command(label='A')
CasBtn.menu.choices.add_command(label='B')
CasBtn.menu.choices.add_command(label='C')
CasBtn.menu.choices.add_command(label='D')
CasBtn.menu.choices.add_command(label='E')
CasBtn.menu.choices.add_command(label='F')
CasBtn.menu.choices.add_cascade(label='G',
menu=CasBtn.menu.choices.wierdones)

CasBtn.menu.add_cascade(label='Scipts', menu=CasBtn.menu.choices)
CasBtn['menu'] = CasBtn.menu
return CasBtn

def makeCheckbuttonMenu():
ChkBtn = Menubutton(mBar, text='Checkbutton Menus', underline=0)
ChkBtn.pack(side=LEFT, padx='2m')
ChkBtn.menu = Menu(ChkBtn)

ChkBtn.menu.add_checkbutton(label='A')
ChkBtn.menu.add_checkbutton(label='B')
ChkBtn.menu.add_checkbutton(label="C")
ChkBtn.menu.add_checkbutton(label='D')
ChkBtn.menu.add_checkbutton(label='E')
ChkBtn.menu.invoke(ChkBtn.menu.index('C'))

ChkBtn['menu'] = ChkBtn.menu
return ChkBtn

def makeRadiobuttonMenu():
RadBtn = Menubutton(mBar, text='Radiobutton Menus', underline=0)
RadBtn.pack(side=LEFT, padx='2m')
RadBtn.menu = Menu(RadBtn)

RadBtn.menu.add_radiobutton(label='A')
RadBtn.menu.add_radiobutton(label='B')
RadBtn.menu.add_radiobutton(label='C')
RadBtn.menu.add_radiobutton(label='D')
RadBtn.menu.add_radiobutton(label='E')
RadBtn.menu.add_radiobutton(label='F')
RadBtn.menu.add_radiobutton(label='G')
RadBtn.menu.add_radiobutton(label='H')
RadBtn.menu.add_radiobutton(label='I')

RadBtn['menu'] = RadBtn.menu
return RadBtn

def makeDisabledMenu():
Dummy_button = Menubutton(mBar, text='Disabled Menu', underline=0)
Dummy_button.pack(side=LEFT, padx='2m')
Dummy_button["state"] = DISABLED
return Dummy_button

root = Tk()
mBar = Frame(root, relief=RAISED, borderwidth=2)
mBar.pack(fill=X)

CmdBtn = makeCommandMenu()
CasBtn = makeCascadeMenu()
ChkBtn = makeCheckbuttonMenu()
RadBtn = makeRadiobuttonMenu()
NoMenu = makeDisabledMenu()

mBar.tk_menuBar(CmdBtn, CasBtn, ChkBtn, RadBtn, NoMenu)

root.title('Menus')
root.mainloop()
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下面是MyEclipse中实现查询的语句,运行时总
洪家粉鸡牛肉汤在什么地方啊,我要过去处理事
中国石油大学北京分部南门地址在什么地方,想
联想p700i手机怎么样
争做卫生小达人作文1000
天天红食品公司西门怎么去啊,有知道地址的么
为什么我进浩方cs1.6后,点开始游戏,后来说
喷墨打印机红灯同时闪,怎么办?
请问淘宝上如果买家收到货后又不要了怎么办?
三国群英传8怎么把武将经验减少
怎么把MP3音乐转换成空间歌曲连接
地球人还能阻止Intel吗
男生对我说他又单身了,什么意思?
西康路/马场道(路口)地址有知道的么?有点事
梦到帮我同学做花圈
推荐资讯
求韩国电影名
m(a-b+c)-n(a+c-b)+p(c-b+a)因式分解谁会?
长润影视中心做的业务是什么?
镁光m500用什么能看到写入多少数据
3个表示人多的词语。四个字
跪在地上膝盖生根的意思意思
查车辆违章登陆什么网址
红色老印章是什么石头
用手机怎么将一个rar压缩文件解压成apk,而且
以战争并没有结束为题的作文 以听听渴望和平
六段地村这个地址在什么地方,我要处理点事
修改病句:通过这件事,使我明白了一个道理.为
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?