tkinter學習總結

伊念發表於2019-04-05

tkinter模組常用引數(python3) 部落格推薦 www.cnblogs.com/aland-1415/…

元組拆解

p = (1,2,3,4,5,6,7,)
a,b,c,d,e,f,g = p
print (a,b,c,d,e,f,g)
# 輸出:1 2 3 4 5 6 7
複製程式碼

p =(1,)
for i in p:
    print(i)
#輸出:1
複製程式碼
p =(1,)
i= p
print(i)
#輸出:(1,)
複製程式碼

listbox 單選運用

import tkinter

win = tkinter.Tk()
win.title("Listbox列表框")
win.geometry("800x600+600+100")

lbv=tkinter.StringVar()#繫結變數
#SINGLE與BORWSE作用相似,但是不支援滑鼠按下後移動選中位置
lb=tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=lbv)
lb.pack()
for item in["good","nice","handsome","very good","verynice"]:
    lb.insert(tkinter.END,item)
lb.insert(tkinter.ACTIVE,"cool")
#列印當前列表的選項
print(lbv.get())
#設定選項,把列表值變為1,2,3
#lbv.set(("1","2","3"))
#繫結事件
def myPrint(self):
    print(lb.curselection())#提取點中選項的下標
    print(lb.get(lb.curselection()))#提前點中選項下標的值
lb.bind("<Button-1>",myPrint)

win.mainloop()
複製程式碼

listbox多選運用

# 選中操作函式,使用函式實現。selection_set函式有兩個引數第一個為開始的索引;
# 第二個為結束的索引,如果不指定則只選中第一個引數指定的索引項
from tkinter import *

root = Tk()
lb = Listbox(root)
for i in range(10):
    lb.insert(END, str(i))
lb.selection_set(0, 10)
#  程式執行結果,選中了所有的項。 此程式碼並未指定Listbox為MULTIPLE或EXTENDED,查通過selection_set仍舊可以對Listbox進行操作。
# 與之相對的便是取消選中的函式了,引數與selection_set在引數相同,如下程式碼取消索引從0-3在狀態
lb.selection_clear(0, 3)

'''得到當前Listbox中的item個數'''
print(lb.size())  # 輸出10
lb.pack()
'''返回指定索引的項'''
print(lb.get(3))  # 輸出3
# get也為兩個引數的函式,可以返回多個項(item),如下返回索引值3-7的值
print(lb.get(3, 7))  # ('3', '4', '5', '6', '7'),是一個tuple型別

'''返回當前返回的項的索引,不是item的值'''
print(lb.curselection())  # (4, 5, 6, 7, 8, 9)

'''判斷 一個項是否被選中,使用索引。'''
print(lb.selection_includes(8))  # True
print(lb.selection_includes(0))  # False
root.mainloop()

複製程式碼