python tkinter详解 博客园_Python--详解TKinter类库

1 #coding=gbk

2 from tkinter import *

3 #root = Tk()

4 #def hello():

5 #print ("hello menu")

6 #menubar = Menu(root)

7 ##创建主菜单,每个菜单对应的回调函数都是hello

8 #for item in ['Python','PHP','CPP','C','Java','JavaScript','VBScript']:

9 ##添加菜单函数

10 #menubar.add_command(label = item,command = hello)

11 ##将root的menu属性设置为menubar

12 #root['menu'] = menubar

13 #root.mainloop()

14

15

16 #root = Tk()

17 #def hello():

18 #print ('hello menu')

19 #menubar = Menu(root)

20 #

21 #filemenu = Menu(menubar,tearoff = 0)

22 #for item in ['Python','PHP','CPP','C','Java','JavaScript','VBScript']:

23 ##添加菜单函数

24 #filemenu.add_commad(label = item,command = hello)

25 ##将menubar的menu属性指定为filemenu,即filemenu为menubar的下拉菜单

26 #menubar.add_cascade(label = 'Language',menu = filemenu)

27 #root['menu'] = menubar

28 #root.mainloop()

29

30

31 #'''3.向菜单中添加Checkbutton项'''

32 ## -*- coding: cp936 -*-

33 #from Tkinter import *

34 #root = Tk()

35 #每次打印出各个变量的当前值

36 #root = Tk()

37 ##每次打印出各个变量的当前值

38 #def printItem():

39 #print ('Python = '),vPython.get()

40 #print ('PHP = '),vPHP.get()

41 #print ('CPP = '),vCPP.get()

42 #print ('C = '),vC.get()

43 #print ('Java = '),vJava.get()

44 #print ('JavaScript = '),vJavaScript.get()

45 #print ('VBScript = '),vVBScript.get()

46 #

47 #menubar = Menu(root)

48 #

49 #vPython = StringVar()

50 #vPHP = StringVar()

51 #vCPP = StringVar()

52 #vC = StringVar()

53 #vJava = StringVar()

54 #vJavaScript = StringVar()

55 #vVBScript = StringVar()

56 #

57 #filemenu = Menu(menubar,tearoff = 0)

58 #for k,v in {'Python':vPython,

59 #'PHP':vPHP,

60 #'CPP':vCPP,

61 #'C':vC,

62 #'Java':vJava,

63 #'JavaScript':vJavaScript,

64 #'VBScript':vVBScript}.items():

65 ##绑定变量与回调函数

66 #filemenu.add_checkbutton(label = k,command = printItem,variable = v)

67 ##将menubar的menu属性指定为filemenu,即filemenu为menubar的下拉菜单

68 #menubar.add_cascade(label = 'Language',menu = filemenu)

69 #root['menu'] = menubar

70 #root.mainloop()

71 #程序运行,使用了Checkbutton,并通过printItem将每个Checkbutton在当前值打印出来。

72

73

74

75 #'''4.向菜单 中添加Radiobutton项'''

76 #

77 #root = Tk()

78 #

79 #menubar = Menu(root)

80 #vLang = StringVar()

81 ##每次打印出当前选中的语言

82 #def printItem():

83 #print ('vLang = '),vLang.get()

84 #filemenu = Menu(menubar,tearoff = 0)

85 #for k in ['Python','PHP','CPP','C','Java','JavaScript','VBScript']:

86 ##绑定变量与回调函数,指定的变量vLang将这几项划为一组

87 #filemenu.add_radiobutton(label = k,command = printItem,variable = vLang)

88 ##将menubar的menu属性指定为filemenu,即filemenu为menubar的下拉菜单

89 #menubar.add_cascade(label = 'Language',menu = filemenu)

90 #root['menu'] = menubar

91 #root.mainloop()

92 ##程序每次打印出当前选中的语言

93 ##与Checkbutton不同的是,同一个组内只有一个处于选中状态。

94

95

96 '''5.向菜单中添加分隔符'''

97 ## -*- coding: cp936 -*-

98 #

99 #root = Tk()

100 #menubar = Menu(root)

101 #

102 ##每次打印出当前选中的语言

103 #def printItem():

104 #print ('add_separator')

105 #

106 #filemenu = Menu(menubar,tearoff = 0)

107 #for k in ['Python','PHP','CPP','C','Java','JavaScript','VBScript']:

108 #filemenu.add_command(label = k,command = printItem)

109 ##将各个菜单项使用分隔符隔开

110 #filemenu.add_separator()

111 #menubar.add_cascade(label = 'Language',menu = filemenu)

112 #root['menu'] = menubar

113 #root.mainloop()

114 ##分隔符将相关的菜单项进行分组,只是UI上的实现,程序上没有任何改变,它也不执行任何的命令

115

116

117

118 '''6.将以上的例5中的菜单改为右击弹出菜单'''

119 #方法是通过绑定鼠标右键,每当点击时弹出这个菜单,去掉与root的关联

120 #-*- coding: cp936 -*-

121

122 #root = Tk()

123 #menubar = Menu(root)

124 #

125 #def printItem():

126 #print ('popup menu')

127 #

128 #filemenu = Menu(menubar,tearoff = 0)

129 #for k in ['Python','PHP','CPP','C','Java','JavaScript','VBScript']:

130 #filemenu.add_command(label = k,command = printItem)

131 #filemenu.add_separator()

132 #menubar.add_cascade(label = 'Language',menu = filemenu)

133 ##此时就不要将root的menu设置为menubar了

134 ##root['menu'] = menubar

135 #def popup(event):

136 ##显示菜单

137 ##这里设置右键点击显示菜单

138 #menubar.post(event.x_root,event.y_root)

139 ##在这里相应鼠标的右键事件,右击时调用popup,此时与菜单绑定的是root,可以设置为其它的控件,在绑定的控件上右击就可以弹出菜单

140 #root.bind('',popup)

141 #root.mainloop()

142 ##运行测试一个,可以看到各个菜单 项的功能都是可以使用的,所以弹出菜单与一般的菜单功能是一样的,只是弹出的方式不同而已。

143

144

145

146 '''7.以下的代码演示了菜单项的操作方法,包括添加各种菜单项,删除一个或多个菜单项'''

147 #-*- coding: cp936 -*-

148

149 root =Tk()150 menubar =Menu(root)151

152 defprintItem():153 print ('add_separator')154

155 filemenu = Menu(menubar,tearoff =0)156 for k in range(5):157 filemenu.add_command(label = str(k),command =printItem)158 menubar.add_cascade(label = 'Language',menu =filemenu)159

160 '''以下为向菜单中添加项的操作'''

161 #在索引1添加一菜单command项

162 filemenu.insert_command(1,label = '1000',command =printItem)163 #在索引2添加一菜单checkbutton项

164 filemenu.insert_checkbutton(2,label = '2000',command =printItem)165 #在索引3添加一菜单radiobutton项

166 filemenu.insert_radiobutton(3,label = '3000',command =printItem)167 #将新添加的菜单项使用分隔符隔开

168 filemenu.insert_separator(1)169 filemenu.insert_separator(5)170

171 '''以下为删除菜单项的操作'''

172 #删除索引6-9的菜单项

173 #这两个参数是控制删除下拉列表的位置的

174 filemenu.delete(4,9)175 #删除索引为0的菜单项

176 filemenu.delete(0)177

178 root['menu'] =menubar179 root.mainloop()180 #分隔符将相关的菜单项进行分组,只是UI上的实现,程序上没有任何改变,它也不执行任何的命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值