亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python GUI中tkinter控件怎么用

發布時間:2021-05-20 10:36:01 來源:億速云 閱讀:213 作者:小新 欄目:開發技術

這篇文章主要介紹了Python GUI中tkinter控件怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

相關內容:

  • tkinter的使用

    • Tk

    • Button

    • Label

    • Frame

    • Toplevel

    • Menu

    • Menubutton

    • Canvas

    • Entry

    • Message

    • Text

    • Listbox

    • Checkbutton

    • Radiobutton

    • Scale

    • Scrollbar

    • 1.模塊的導入

    • 2.使用

    • 3.控件介紹

首發時間:2018-03-04 16:39

Python的GUI各有各特點。

由于只是輕微涉及GUI開發,所以就以輕量級的tkinter來學習。

tkinter的使用:

  • 1.模塊的導入

    • [tkinter是python默認的gui庫,所以一般不需要另外安裝模塊]:from tkinter import *

  • 2.使用:

    • 創建主窗口:root=Tk() 【root是一個主窗口對象】

    • 創建若干個控件:控件對象=控件(root,控件參數設置) 【這里的控件也可以添加到其他窗口中】

    • 將控件顯示出來:控件對象.pack() 【這里也不一定是pack,也可以是其他的顯示方式,比如grid,后面介紹】

    • 讓主窗口持續顯示:root.mainloop()

  • 3.控件介紹:

    • 主窗口Tk[所有控件都需要附著在界面上]:

      • title:窗口標題

      • geometry:窗口大小,大寫格式是”寬度x高度+x位置+y位置”【注意不是*是x】,其中x,y將左上角作為(0,0)

      • 介紹:主窗口是所有控件附著的基礎,所有控件都需要附著在界面上,如果程序中沒有指定控件附著的窗口,將默認附著到主窗口Tk中,如果程序中沒有定義Tk,那么將自動創建一個

      • 常見屬性【想要初始化主窗口的屬性需要使用 主窗口對象.屬性(“參數”) :

from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('500x500')
root.mainloop()
  • 按鈕Button:

    • text:按鈕上的文本顯示

    • anchor:按鈕上內容的位置[取值:n, ne, e, se, s, sw, w, nw, or center,其中n e s w是東南西北的縮寫]

    • cursor:當鼠標移動到按鈕上時所顯示的光標【arrow:箭頭,cross:十字,dot: 點,hand1:手 …….】

    • font:字體,使用元組來指定一個字體,這個元組包含了一個字體類型名字,一個以磅為單位的高度,代表一個或多個樣式的字符串,比如("Times", 10, "bold")

    • background[可縮寫為bg]:背景色,取值可未英文顏色字符串,或者RGB值

    • foreground[可縮寫為fg]:前景色,取值可未英文顏色字符串,或者RGB值

    • borderwidth[可縮寫為bd]::邊框大小

    • activebackground:按鈕處于活動狀態時使用的背景顏色。

    • activeforeground:按鈕處于活動狀態時使用的前景顏色。

    • disabledforeground:禁用按鈕時使用的顏色。

    • highlightbackground:當按鈕沒有焦點時用于高亮邊框的顏色

    • relief:邊框的裝飾

    • padx和pady:指定文本或圖象與按鈕邊框的間距,x,y為x軸,y軸方向

    • height,widht:按鈕的尺寸,height為高度,width為寬度,如果不設置則默認為包括文本內容

    • state:按鈕的狀態,可取值:NORMAL, ACTIVE 或 DISABLED。默認值為NORMAL。

    • justify:對齊方式

    • command:當按下按鈕時調用的方法

    • 列表里面是relief的可選值:["flat", "raised", "sunken", "solid", "ridge", "groove"]

    • flat是指按鈕邊框是平坦的,raise是指按鈕邊框是凸起的,sunken是指按鈕邊框是凹入的,solid是指按鈕邊框是粗邊框…

    • 按鈕relief的效果:Python GUI中tkinter控件怎么用

    • 介紹:按鈕Python GUI中tkinter控件怎么用

    • 常用參數設置【可以在創建按鈕的時候指定,也可以創建后使用 按鈕對象.config() 來設置】:

Button所有的可設置參數

activebackground, activeforeground, anchor,
background, bitmap, borderwidth, cursor,
disabledforeground, font, foreground
highlightbackground, highlightcolor,
highlightthickness, image, justify,
padx, pady, relief, repeatdelay,
repeatinterval, takefocus, text,
textvariable, underline, wraplength

WIDGET-SPECIFIC OPTIONS【特有選項】: command, compound, default, height, overrelief, state, width

from tkinter import *

def hello():
 print("hello")
root=Tk()

# RELIEF=["flat", "raised", "sunken", "solid", "ridge", "groove"]

btn1=Button(root,text='click me')
btn1.config(bg='green',fg='white',cursor='hand1',height=10,width=10,command=hello,relief='sunken')
btn1.config(anchor=LEFT)
btn1.pack()

# for col,i in enumerate(RELIEF):
#  btn=Button(root,text=i,relief=i,anchor=S)
#  btn.grid(row=0,column=col)

root.mainloop()
  • Label:

    • 介紹:顯示一個文本或圖象。

    • 參數設置:label沒有什么特別的參數,可用參數參考下面的可用參數,再可以參考Button的參數設置

STANDARD OPTIONS【label的標準可選參數】

 activebackground, activeforeground, anchor,
 background, bitmap, borderwidth, cursor,
 disabledforeground, font, foreground,
 highlightbackground, highlightcolor,
 highlightthickness, image, justify,
 padx, pady, relief, takefocus, text,
 textvariable, underline, wraplength
WIDGET-SPECIFIC OPTIONS【特有選項】:

 height, state, width
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('500x500')

label=Label(text='用戶名:',bg='green')
label.grid()
root.mainloop()

Python GUI中tkinter控件怎么用

  • 框架Frame:

    • 介紹:一個容器窗口部件。可以有邊框和背景。Frame默認是沒有大小的,所以必須要設置高度和寬度,而當加了控件到Frame后它會“縮水”【這里縮水是因為Frame自動縮小到剛好能包裹控件】,需要在顯示的時候強制設置大小比如pack(fill=X),這是強制填充水平方向,又或者使用 Frame對象.pack_propagate(0),這個函數可以使得設置的高度和寬度生效

    • 參數設置:可用參數參考下面的可用參數,再參考按鈕的參數設置

STANDARD OPTIONS【標準可用參數】

 activebackground, activeforeground, anchor,
 background, bitmap, borderwidth, cursor,
 disabledforeground, font, foreground,
 highlightbackground, highlightcolor,
 highlightthickness, image, justify,
 padx, pady, relief, takefocus, text,
 textvariable, underline, wraplength
#這是一段沒有顯示Frame 代碼
from tkinter import *

root=Tk()
root.geometry('500x500')
frame=Frame(root,height = 200,width = 400,bg = 'black')

Label(frame,text='mylabel').pack()

frame.pack()

root.mainloop()
#下面是探究出縮水原因的代碼
from tkinter import *

root=Tk()
root.geometry('500x500')
frame=Frame(root,height = 400,width = 400,bg = 'green')


button1=Button(frame,text='hello')
button1.pack(side=LEFT,padx=5,pady=5)#增加了邊距之后,發現出了frame的背景顏色
button2=Button(frame,text='hello')
button2.pack(side=LEFT)
frame.pack(side=TOP)


root.mainloop()

Python GUI中tkinter控件怎么用

#下面的是使用.pack_propagate(0)解決了問題的代碼
from tkinter import *

root=Tk()
root.geometry('500x500')
frame=Frame(root,height = 400,width = 400,bg = 'green')

# Label(frame,text='mylabel',padx=5,pady=5).pack(side=LEFT)
button1=Button(frame,text='hello')
button1.pack(side=LEFT,padx=5,pady=5)
button2=Button(frame,text='hello')
button2.pack(side=LEFT)
frame.pack_propagate(0)
frame.pack(side=TOP)

# frame.pack(side=TOP,fill=X)

root.mainloop()
  • Toplevel:

    • 介紹:一個容器窗口,作為一個單獨的、最上面的窗口顯示。 Python GUI中tkinter控件怎么用

    • 參數設置:可用參數參考下面的,用法參考Tk的

    • Toplevel是一個子窗口,當父窗口關閉時子窗口會關閉,但子窗口關閉時父窗口不關閉

Valid resource names:
background, bd, bg, borderwidth, class,
colormap, container, cursor, height, highlightbackground,
highlightcolor, highlightthickness, menu, relief, screen, takefocus,
use, visual, width
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('500x500')

t1=Toplevel(root)
t1.title("Top窗口")
t1.geometry("100x100")
label=Label(t1,text="用戶名:")
label.pack()
root.mainloop()
  • 菜單Menu:

    • 添加命令菜單:Menu對象.add_command()

    • 添加多級菜單:Menu對象.add_cascade(**options) 【多級菜單可以傳入一個菜單對象】Python GUI中tkinter控件怎么用

    • 添加分割線:Menu對象.add_separator(**options)

    • 添加復選框菜單:Menu對象.add_checkbutton(**options)

    • 添加單選框菜單:Menu對象.add_radiobutton(**options)

    • 插入菜單:insert_separator(),insert_checkbutton(),insert_radiobutton(),insert_cascade(),

    • 其他。。。。

    • 注意:Menu是沒有text的

    • 介紹:菜單控件,相當于一個菜單組\菜單欄,沒有添加其他菜單時默認沒有顯示,只有添加其他的菜單,才會了實際的意義

    • 要想顯示菜單,必須在“要添加菜單的窗口對象”的config中允許添加上“菜單對象”Python GUI中tkinter控件怎么用

    • 參數設置:可用參數參考下面的可用參數,再參考按鈕的參數設置

    • 添加菜單按鈕:

常見可用參數:
activebackground, activeborderwidth,
activeforeground, background, bd, bg, borderwidth, cursor,
disabledforeground, fg, font, foreground, postcommand, relief,
selectcolor, takefocus, tearoff, tearoffcommand, title, type
from tkinter import *

root=Tk()

menuBar=Menu(root,tearoff=0)
root.config(menu=menuBar)
filemenu=Menu(menuBar,fg='green')#文件菜單下的字體是綠色的
filemenu.add_command(label='新建',accelerator = 'Ctrl+N')
filemenu.add_command(label='打開',accelerator = 'Ctrl+O')
filemenu.add_command(label='保存',accelerator = 'Ctrl+S')
filemenu.add_command(label='另存為',accelerator ='Ctrl+Shift+S')
menuBar.add_cascade(label='文件',menu=filemenu)

#這里測試root.config(menu=menuBar)的作用
# def show_menuBar():
#  root.config(menu=menuBar)
# button=Button(text='show_menu',command=show_menuBar)
# button.pack()


root.mainloop()
  • Menubutton:

    • 介紹:菜單按鈕。用來實現下拉式菜單。 Python GUI中tkinter控件怎么用

    • 參數設置:可用參數參考上面Menu的,用法同樣可以參考按鈕Button的

    • 添加菜單的方法參考Menu的

    • 注意:這次不是在root里面config了,而是在菜單按鈕中設置

from tkinter import *
root=Tk()
menubtn=Menubutton(root,text='單擊出現下拉菜單',relief='raise')#建立一個菜單按鈕
menubtn.pack()
#添加菜單
filemenu=Menu(menubtn)
filemenu.add_command(label='新建')

menubtn.config(menu=filemenu)#設置菜單按鈕允許顯示菜單,這里不是root了
root.mainloop()
  • Canvas:

    • create_rectangle:根據四個參數畫一個矩形,四個參數是位置

    • create_polygon:根據提供的多個參數畫一個多邊形

    • 其他。。

    • 介紹:組織圖形。這個部件可以用來繪制圖表和圖,創建圖形編輯器,實現定制窗口部件

    • 參數設置:可用參數參考下面的,用法同樣可以參考按鈕Button的

    • 添加圖像的方法:

可用參數: background, bd, bg, borderwidth, closeenough,
confine, cursor, height, highlightbackground, highlightcolor,
highlightthickness, insertbackground, insertborderwidth,
insertofftime, insertontime, insertwidth, offset, relief,
scrollregion, selectbackground, selectborderwidth, selectforeground,
state, takefocus, width, xscrollcommand, xscrollincrement,
yscrollcommand, yscrollincrement
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('500x500')
mycanvas=Canvas(root,width=200,height=200,bg='green')
mycanvas.pack()
#畫一個矩形
mycanvas.create_rectangle(10,10,110,110,outline = 'red',width = 5)

root.mainloop()
  • Entry:

    • 介紹:單行文本輸入域。 Python GUI中tkinter控件怎么用

    • 參數設置:可用參數參考下面的,用法同樣可以參考按鈕Button的

Valid resource names: background, bd, bg, borderwidth, cursor,
exportselection, fg, font, foreground, highlightbackground,
highlightcolor, highlightthickness, insertbackground,
insertborderwidth, insertofftime, insertontime, insertwidth,
invalidcommand, invcmd, justify, relief, selectbackground,
selectborderwidth, selectforeground, show, state, takefocus,
textvariable, validate, validatecommand, vcmd, width,
xscrollcommand.
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('300x300+20+10')
entry=Entry(root)
entry.pack()

root.mainloop()
  • Text:

    • 介紹:多行文本輸入域,允許你用不同的樣式和屬性來顯示和編輯文本。同時支持內嵌圖象和窗口。 Python GUI中tkinter控件怎么用

    • 參數設置:可用參數參考下面的,用法同樣可以參考按鈕Button的

STANDARD OPTIONS

 background, borderwidth, cursor,
 exportselection, font, foreground,
 highlightbackground, highlightcolor,
 highlightthickness, insertbackground,
 insertborderwidth, insertofftime,
 insertontime, insertwidth, padx, pady,
 relief, selectbackground,
 selectborderwidth, selectforeground,
 setgrid, takefocus,
 xscrollcommand, yscrollcommand,

WIDGET-SPECIFIC OPTIONS

 autoseparators, height, maxundo,
 spacing1, spacing2, spacing3,
 state, tabs, undo, width, wrap,
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('300x300+250+55')
button=Button(text='submit')
button.pack()
t1=Text(root,height=100,width=100,cursor='cross')
t1.pack()

root.mainloop()
  • Message:

  • 介紹:顯示多行文本。類似label窗口部件,但是能夠自動地調整文本到給定的寬度或比率。 Python GUI中tkinter控件怎么用

  • 參數設置:與Label類似

  • 由于Label也可以顯示多行文本后,就逐漸少用Message了。"""Message widget to display multiline text. Obsolete since Label does it too."""

  • Listbox:

    • 插入:insert(索引,元素)

    • 刪除:delete(索引,元素)

    • 獲取listbox元素:get()

    • selectmode:選擇模式,selectmode=EXTENDED時允許多選

    • selectbackground:選中時的背景顏色

    • selectforeground:選中時的字體顏色

    • selectborderwidth:選中時的邊框大小

    • 介紹:列表框用于從一組文本項目中進行選擇。 根據列表框的配置方式,用戶可以從列表中選擇一個或多個項目。Python GUI中tkinter控件怎么用

    • 參數設置:可用參數參考下面的,參數設置同樣可以參考按鈕Button的

    • 常用函數:

Valid resource names: background, bd, bg, borderwidth, cursor,
exportselection, fg, font, foreground, height, highlightbackground,
highlightcolor, highlightthickness, relief, selectbackground,
selectborderwidth, selectforeground, selectmode, setgrid, takefocus,
width, xscrollcommand, yscrollcommand, listvariable
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('300x300+20+10')
# listbox=Listbox(root)
listbox=Listbox(root,selectmode=EXTENDED)
listbox.insert(0,"孫悟空")
listbox.insert(1,"唐僧")
listbox.insert(2,"葫蘆娃")
listbox.pack()
def func1():
 print(listbox.get(0,END))#以元組形式返回所有listbox的元素
def func2():
 print(listbox.select_includes(1))#當對應索引被選中時返回True
def func3():
 print(listbox.curselection())#以元組形式返回被選中的元素

btn1=Button(text="獲取所有元素",command=func1)
btn1.pack()
btn2=Button(text="判斷1是否選中",command=func2)
btn2.pack()
btn3=Button(text="獲取選中的索引",command=func3)
btn3.pack()


root.mainloop()
  • 復選框Checkbutton:

    • variable:值為tkinter變量,可以使用 tkinter變量.get方法 來獲取是否選中

    • 介紹:復選框點擊這個按鈕將會在這兩個值間切換。

    • 參數設置:可用參數參考下面的,用法同樣可以參考按鈕Button的

    • 如果想要獲取選中值,必須設置一個tkinter變量來獲取,tkinter變量類型有:BooleanVar, DoubleVar, IntVar, StringVar

可用參數:activebackground, activeforeground, anchor,
background, bd, bg, bitmap, borderwidth, command, cursor,
disabledforeground, fg, font, foreground, height,
highlightbackground, highlightcolor, highlightthickness, image,
indicatoron, justify, offvalue, onvalue, padx, pady, relief,
selectcolor, selectimage, state, takefocus, text, textvariable,
underline, variable, width, wraplength
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('200x200')
def submit():
 print('男:',v1.get(),'女:',v2.get(),'另外:',v3.get())#選擇則值為1,不選中為0
 # pass


v1 = IntVar()   #用tkinter變量來表示按鈕是否選中
v2 = IntVar()
v3 = IntVar()
# 使用 Checkbutton時,必須創建一個 Tkinter 變量用于存放按鈕的狀態:
cbtn=Checkbutton(root,text='男',variable=v1,command=submit)
cbtn2=Checkbutton(root,text='女',variable=v2,command=submit)
#v3是為了測試variable相同時,點一個,所有的v3都被選中
cbtn3=Checkbutton(root,text='不明',variable=v3,command=submit)
cbtn4=Checkbutton(root,text='保密',variable=v3,command=submit)

button=Button(text='submit',command=submit)
button.pack()
cbtn.pack()
cbtn2.pack()
cbtn3.pack()
cbtn4.pack()
root.mainloop()
  • Radiobutton:

    • variable:值為tkinter變量,可以使用 tkinter變量.get方法 來獲取是否選中

    • value:根據前面的variable來決定數據類型,使用 tkinter變量.get方法 此時獲取的是選中選項的value的值

    • 介紹:代表一個變量,它可以有多個值中的一個。點擊它將為這個變量設置值,并且清除與這同一變量相關的其它radiobutton。

    • 參數設置:可用參數參考下面的,用法同樣可以參考按鈕Button的

Valid resource names: activebackground, activeforeground, anchor,
background, bd, bg, bitmap, borderwidth, command, cursor,
disabledforeground, fg, font, foreground, height,
highlightbackground, highlightcolor, highlightthickness, image,
indicatoron, justify, padx, pady, relief, selectcolor, selectimage,
state, takefocus, text, textvariable, underline, value, variable,
width, wraplength
from tkinter import *

root=Tk()
v=StringVar()
l=['man','woman','unknow']
def ptr():
 print(v.get())
for i in l:
 rbtn=Radiobutton(root,text=i,variable=v,value=i,command=ptr)
 rbtn.pack()

root.mainloop()
  • Scale:

    • 介紹:允許你通過滑塊來設置一數字值。

    • 介紹:允許你通過滑塊來設置一數字值。 Python GUI中tkinter控件怎么用

    • 常用參數設置:

      • from_:設置滑塊起始值

      • to:設置滑塊最大值

      • orient:設置方向,默認是豎的,如果想改成水平的:orient=HORIZONTAL

Valid resource names:
activebackground, background, bigincrement, bd,
bg, borderwidth, command, cursor, digits, fg, font, foreground, from,
highlightbackground, highlightcolor, highlightthickness, label,
length, orient, relief, repeatdelay, repeatinterval, resolution,
showvalue, sliderlength, sliderrelief, state, takefocus,
tickinterval, to, troughcolor, variable, width
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('300x300+20+10')
scale=Scale(root,from_=0, to=100)#默認是豎的
scale2=Scale(root,from_=0, to=100,orient=HORIZONTAL)#橫的
scale.pack()
scale2.pack()

root.mainloop()
  • Scrollbar:

    • 介紹:為配合使用canvas, entry, listbox, and text窗口部件的標準滾動條。

    • 參數設置:可用參數參考下面的,用法參考按鈕Button的

Valid resource names:
activebackground, activerelief,
background, bd, bg, borderwidth, command, cursor,
elementborderwidth, highlightbackground,
highlightcolor, highlightthickness, jump, orient,
relief, repeatdelay, repeatinterval, takefocus,
troughcolor, width.
from tkinter import *

root=Tk()
root.title('我的窗口')
root.geometry('300x300+250+55')
button=Button(text='submit')
button.pack()
t1=Text(root,height=100,width=100,cursor='cross')

slb=Scrollbar(root)
slb.pack(side=RIGHT,fill=Y)#設置滾動條的顯示形式
t1.config(yscrollcommand=slb.set)#設置允許滾動條
#由于沒有綁定事件,所以直接拖拽滾動條無效

t1.pack()
root.mainloop()

python的數據類型有哪些?

python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python GUI中tkinter控件怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临安市| 古丈县| 耒阳市| 西安市| 太保市| 罗山县| 文化| 高青县| 河间市| 菏泽市| 新乐市| 宜黄县| 资中县| 开远市| 成安县| 宣化县| 科技| 榆社县| 峨山| 鄯善县| 松潘县| 贵定县| 宁陵县| 栖霞市| 和平区| 鹤庆县| 金门县| 呼伦贝尔市| 沙田区| 自贡市| 蛟河市| 剑河县| 兰西县| 镇远县| 兰溪市| 富宁县| 玉环县| 临湘市| 北川| 翁牛特旗| 佛山市|