首頁>技術>

前言

此篇文章介紹的是有關GUI(Graphical User Interface)圖形使用者介面的設計。使用到的庫是tkinter,tkinter庫在python3版本開始就是自帶的庫,IDLE就是透過這個庫設計的。再過幾天會更新其他內容(輸入框、捲軸、分頁、多行文字、下拉框)。

相關介紹

Python GUI程式設計(Tkinter)-菜鳥教程

Python Tkinter Wiki

Tk圖形使用者介面(GUI)

一、函式方法介紹

下面的函式方法是基於import tkinter和from tkinter import ttk的匯入來的。如果你使用的是imort tkinter as tk這種的,將下面的tkinter替換成你所定義的別名就行。

函式方法中有些方法只是簡單介紹,詳細的內容會在之後的步驟提及。

二、匯入tkinter庫

通常匯入的話使用下面第一行程式碼進行匯入就行

import tkinter

但對於某些功能時,需要匯入一個ttk模組

[1]. 建立

建立視窗的方法比較簡單,執行tkinter.Tk()即可。

因為我們需要對這個視窗進行操作,所以得用一個例項物件來儲存這個視窗。

import tkinterwindow = tkinter.Tk()

[2]. 設定標題

上一個步驟執行完畢後,預設會給視窗設定一個名為tk的標題。如果我們需要設定自定義的標題時,就得用到title方法。

import tkinterwindow = tkinter.Tk()window.title('標題')

[3]. 設定大小

在設定大小時,使用geometry方法,引數裡的x是英文字母,大小寫不會有影響。

對於200x300的大小,第一個引數200是寬度,第二個引數300是高度。如果沒有設定視窗大小時,預設大小為200x200

import tkinterwindow = tkinter.Tk()window.title('標題')window.geometry('200x300')
[4]. 設定背景色

使用configure方法設定background引數的值,來改變背景色。

改變背景色時傳入的引數大小寫皆可

import tkinterwindow = tkinter.Tk()window.title('標題')window.geometry('200x300')window.configure(background='BlUe')

[5]. 刪除視窗

使用

import tkinterwindow = tkinter.Tk()window.title('標題')window.geometry('200x300')window.configure(background='BlUe')window.destroy()
四、按鈕

步驟[2]和步驟[3]放置按鈕的方法對其他元件是通用的。

[1]. 建立

和視窗不同,其他元件建立時不會直接將元件放置到視窗中。

button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=3,height=2)

[2]. 放置按鈕(絕對位置)

橫軸和縱軸座標是必須給定的,而錨點引數anchor可以省略不填,但對於特殊的應用場景就得使用到anchor引數來設定錨點了。

import tkinterwindow = tkinter.Tk()window.title('標題')window.geometry('200x300')button = tkinter.Button(window,text='退出',command=lambda:window.destroy(),width=5,height=2)##button.place(x=40,y=90,anchor='nw') #絕對位置,放置按鈕button.place(relx=1,rely=1,anchor='se')#相對位置,放置按鈕
五、單行文字

[1]. 建立

如果傳入的顏色或者是文字內容是需要輸入獲取時,可以將等號後面的內容替換成對應的字串變數

text = tkinter.Label(window,bd=4,fg='red',bg='white',text='內容111111111111111')

[2]. 程式碼

import tkinterwindow = tkinter.Tk()window.title('標題')window.geometry('200x200')text = tkinter.Label(window,bd=4,fg='red',bg='white',text='內容111111111111111')##text.place(x=20,y=50) #絕對位置,放置文字text.place(relx=0.2,rely=0.2) #相對位置,放置文字

13
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Flow:一流Admin必備的程式碼終結者