tkinter 常用控件使用方法

野性酷女 2022-05-16 13:07 325阅读 0赞

treeview

  1. from tkinter import ttk
  2. #设置show属性为 headings 即可隐藏首列。
  3. tree = ttk.Treeview(root,columns=['1','2','3'],show='headings')
  4. tree.column('1',width=100,anchor='center')
  5. tree.column('2',width=100,anchor='center')
  6. tree.column('3',width=100,anchor='center')
  7. tree.heading('1',text='姓名')
  8. tree.heading('2',text='成绩')
  9. tree.insert('','end',values=['A','B','C'])#插入
  10. [tree.delete(item) for item in tree.get_children() ] #清空
  11. #获取条目值
  12. def treeviewClick(event):#单击
  13. print ('单击')
  14. for item in tree.selection():
  15. item_text = tree.item(item,"values")
  16. print(item_text[0])#输出所选行的第一列的值
  17. tree.bind('<ButtonRelease-1>', treeviewClick)#绑定单击离开事件===========

https://stackoverflow.com/questions/34849035/how-to-get-the-value-of-a-selected-treeview-item
综合使用: https://www.cnblogs.com/Tommy-Yu/p/4156014.html
用法杂记:https://www.cnblogs.com/wumac/p/5816764.html

Command
  1. self.Command2.config(state='disabled')

其他
  1. self.Text1.delete(0, 'end')
  2. self.Label2.config(text='请先点击获取按钮!!!')

事件大全




































































事件 代码
鼠标左键单击按下 1/Button-1/ButtonPress-1
鼠标左键单击松开 ButtonRelease-1
鼠标右键单击 3
鼠标左键双击 Double-1/Double-Button-1
鼠标右键双击 Double-3
鼠标滚轮单击 2
鼠标滚轮双击 Double-2
鼠标移动 B1-Motion
鼠标移动到区域 Enter
鼠标离开区域 Leave
获得键盘焦点 FocusIn
失去键盘焦点 FocusOut
键盘事件 Key
回车键 Return
控件尺寸变 Configure

文本框添加右键

  1. from tkinter import *
  2. class RightKey:
  3. def __init__(self,root):
  4. self.root=root
  5. self.menubar = Menu(self.root, tearoff=False)
  6. def _cut(self,editor, event=None):
  7. editor.event_generate("<<Cut>>")
  8. def _copy(self,editor, event=None):
  9. editor.event_generate("<<Copy>>")
  10. def _paste(self,editor, event=None):
  11. editor.event_generate('<<Paste>>')
  12. def rightKey(self,event, editor):
  13. self.menubar.delete(0,END)
  14. self.menubar.add_command(label='剪切(X) Ctrl+X',command=lambda:self._cut(editor))
  15. self.menubar.add_command(label='复制(C) Ctrl+C',command=lambda:self._copy(editor))
  16. self.menubar.add_command(label='粘贴(V) Ctrl+V',command=lambda:self._paste(editor))
  17. self.menubar.post(event.x_root,event.y_root)
  18. if __name__=='__main__':
  19. root=Tk()
  20. a=RightKey(root)
  21. #创建一个菜单
  22. #以Entry为例,Text对象完全一样。
  23. ent=Entry(root)
  24. ent.pack()
  25. ent.bind("<Button-3>", lambda x: a.rightKey(x, ent))#绑定右键鼠标事件
  26. root.mainloop()

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读