tkinter GUI程式設計(2)

2021-08-10 11:24:54 字數 4803 閱讀 1410

import tkinter

class mybutton:

def __init__(self,root,canvas,label,type):

self.root = root

self.canvas = canvas

self.label = label

if type ==0:

button=tkinter.button(root,text='drawline',command=self.drawline)

if type ==1:

button=tkinter.button(root,text='drawarc',command=self.draware)

if type ==2:

button=tkinter.button(root,text='drawrec',command=self.drawrec)

if type == 3:

button=tkinter.button(root,text='drawoval',command=self.drawoval)

button.pack(side='left')

def drawline(self):

self.label.text.set('drawline')

self.canvas.setstatus(0)

def draware(self):

self.label.text.set('draware')

self.canvas.setstatus(1)

def drawrec(self):

self.label.text.set('drawrec')

self.canvas.setstatus(2)

def drawoval(self):

self.label.text.set('drawoval')

self.canvas.setstatus(3)

class mycanvas:

def __init__(self,root):

self.status=0

self.draw=0

self.root=root

self.canvas=tkinter.canvas(root,bg='white',width=600,height=480)

self.canvas.bind('',self.draw)

self.canvas.bind('',self.exit)

self.canvas.bind('',self.del)

self.canvas.bind('',self.del)

def draw(self,event):

if self.draw==0:

self.x=event.x

self.y=event.y

self.draw=1

else:

if self.status==0:

self.canvas.create_line(self.x,self.y,event.x,event.y,bg='black')

self,draw=0

elif self.status==1:

self.canvas.create_arc(self.x,self.y,event.x,event.y)

self.draw=0

elif self.status==2:

self.canvas.create_retangle(self.x,self.y,event.x,event.y)

self,draw=0

elif self.status==3:

self.canvas.create_oval(self.x,self.y,event.x,event.y)

self.drwa=0

def del(self,event):

items = self.canvas.find_all()

for item in items:

self.canvas.delete(item)

def exit(self,event):

self.root.quit()

def setstatus(self,status):

self.status=status

class mylabel:

def __init__(self,root):

self.root=root

self.canvas = canvas

self.text=tkinter.stringvar()

self.text.set('drawline')

self.label=tkinter.label(root,textvariable=self.text,fg='red',width=50)

self.label.pack(side='left')

root = tkinter.tk()

canvas=mycanvas(root)

label=mylabel(root)

mybutton(root,canvas,label,0)

mybutton(root,canvas,label,1)

mybutton(root,canvas,label,2)

mybutton(root,canvas,label,3)

root.mainloop()

滴~ 今日打卡!繼續昨天的tkinter gui程式設計學習

1. 繪製圖形

引數:background  背景色

borderwidth  邊框寬度

bitmap       位圖

foreground    前景色

height       高度

width       款年度

image       

方法:create_arc   繪製圓弧

create_bitmap   繪製位圖,支援

xbm

create_image   繪製,支援

gif

create_line   繪製直線

create_oval   繪製橢圓

create_polygon   繪製多邊形

create_rectangle  繪製舉行

create_text     繪製文字

create_window   繪製視窗

delete     刪除繪製的圖形

2. 事件處理:

引數:sequence   繫結的事件

func      繫結的事件處理函式

add     可選引數,為空字元或+

classname    繫結的類

其中,sequence繫結的事件,必須以

<>

包圍,滑鼠事件表示方式(滑鼠事件中凡數字可替換成

2(表示滑鼠中鍵)或

3(表示滑鼠右鍵)):

左鍵按下

左鍵按下

左鍵釋放

按住左鍵拖動

雙擊左鍵

滑鼠指正離開某一元件區域

滾輪動作

鍵盤事件: 按下

a鍵 按下

alt+a 按下

control+ 按下

shift+a

快速按兩下a

caps lock開啟後按下a鍵

注意:輸入的字母區分大小寫,如

則要按下大寫

a才觸發事件

視窗事件:

activate   當元件有不可用轉為可用時觸發

configure  當元件大小改變時觸發

deactivate  當元件有可用轉為不可用時觸發

destrooy   當元件被銷毀時觸發

expose    當元件從被遮擋狀態中暴露出來時觸發

focusin    當元件獲得焦點時觸發

focusout   當元件失去焦點時觸發

map  當元件有隱藏狀態變為現實狀態時觸發

unmap   當元件有顯示狀態變為隱藏狀態時觸發

property  當窗體的屬性被刪除或改變時觸發

visibility  當元件變為可視狀態時觸發

3. 對話方塊:

default   指定訊息框的按鈕

icon      指定訊息框的圖示

message   指定訊息框所顯示的訊息

parent   指定訊息框的父元件

title    指定訊息框的標題

type   指定訊息框的型別

4. 標準對話方塊

使用******dialog模組、

filedialog

模組、colorchooser

模組可分別建立標準輸入對話方塊、檔案開啟和儲存檔案對話方塊及顏色選擇對話方塊

其中,******dialog模組可建立輸入字串、輸入整數和輸入浮點型三種對話方塊,分別使用

askstring

、askinteger

和askfloat

函式,有以下幾個相同的可選引數:

title  指定對話方塊標題

prompt  指定對話方塊中顯示的文字

initialvalue  指定輸入框的初始值

filedialog模組建立的標準檔案對話方塊有以下幾個可選引數:

filetypes   指定檔案型別

initialdir   指定預設目錄

initialfile   指定預設檔案

title   指定對話方塊標題

顏色選擇對話方塊有以下幾個可選引數:

initialcolor   指定初始化顏色

title   指定對話方塊標題

最後,還是貼個今天碼的**

python用tkinter GUI 應用小記

label 和entry 控制項及python i o。建立乙個gui 應用,其中包括乙個讓使用者提供文字檔案名的entry 文字框。開啟並讀取檔案內容,並將其顯示在label 標籤中。window.title 課後練習5 6 window.geometry 200x300 content tk.s...

tkinter gui介面使用方法

tkinter 編譯互動的具有視窗的python python 提供了多個圖形開發介面的庫,幾個常用 python gui 庫如下 tkinter 是 python 的標準 gui 庫。python 使用 tkinter 可以快速的建立 gui 應用程式。由於 tkinter 是內建到 python...

程式設計筆記(2)

21.說明乙個指標 uint8 t p p ddrb 編譯提示 警告 assignment discards qualifiers from pointer target type 這是什麼型別的警告。ddrb是乙個指向常量的指標 22.strcmp t恤衫 t恤 返回結果不為零。strncmp t...