1. 程式人生 > >Python日記——利用Tkinter學習GUI設計

Python日記——利用Tkinter學習GUI設計

區間 entry 滾動條 spinbox 應用程序 窗口 root ssa 框架

2017.12.28

首先介紹一下Tkinter用到的各類組件及標準屬性:

組件:

Button 按鈕控件;在程序中顯示按鈕。
Canvas 畫布控件;顯示圖形元素如線條或文本
Checkbutton 多選框控件;用於在程序中提供多項選擇框
Entry 輸入控件;用於顯示簡單的文本內容
Frame 框架控件;在屏幕上顯示一個矩形區域,多用來作為容器
Label 標簽控件;可以顯示文本和位圖
Listbox 列表框控件;在Listbox窗口小部件是用來顯示一個字符串列表給用戶
Menubutton 菜單按鈕控件,由於顯示菜單項。
Menu 菜單控件;顯示菜單欄,下拉菜單和彈出菜單
Message 消息控件;用來顯示多行文本,與label比較類似
Radiobutton 單選按鈕控件;顯示一個單選的按鈕狀態
Scale 範圍控件;顯示一個數值刻度,為輸出限定範圍的數字區間
Scrollbar 滾動條控件,當內容超過可視化區域時使用,如列表框。.
Text 文本控件;用於顯示多行文本
Toplevel 容器控件;用來提供一個單獨的對話框,和Frame比較類似
Spinbox 輸入控件;與Entry類似,但是可以指定輸入範圍值
PanedWindow PanedWindow是一個窗口布局管理的插件,可以包含一個或者多個子控件。
LabelFrame labelframe 是一個簡單的容器控件。常用與復雜的窗口布局。
tkMessageBox 用於顯示你應用程序的消息框。

標準屬性:

Dimension 控件大小;
Color 控件顏色;
Font 控件字體;
Anchor 錨點;
Relief 控件樣式;
Bitmap 位圖;
Cursor 光標;

自己動手寫一個簡單的窗體程序。

import tkinter as tk
from tkinter import messagebox
class app:
    
def __init__(self,root): frame=tk.Frame(root) frame.pack() self.hi_there=tk.Button(frame,text="打招呼",fg="blue",command=self.say_hi) self.hi_there.pack(side=tk.LEFT) def say_hi(self): messagebox.askokcancel(title="Are you sure",message="How are you ?") root=tk.Tk() app=app(root) root.mainloop()

Python日記——利用Tkinter學習GUI設計