'''25.繪製位圖'''
# -*- coding: utf-8 -*-
# 使用bitmap建立點陣圖create_bitmap
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
d =
for i in d:
cv.create_bitmap((20 * i, 20 * i), bitmap=d[i])
cv.pack()
root.mainloop()
# 使用bitmap屬性來指定點陣圖的名稱,這個函式的第乙個引數為乙個點(x,y)指定位圖存放位置的左上位置。
'''26.繪製gif影象'''
# -*- coding: utf-8 -*-
# 建立gif影象create_image
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
img = photoimage(file='d:/1.png')
cv.create_image((150, 150), image=img)
cv.pack()
root.mainloop()
# 先使用photoimage建立gif影象,再將image屬性來設定為新建立的img
'''27.繪製直線'''
# -*- coding: utf-8 -*-
# 建立帶箭頭的直線create_line
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
d = [(0, 'none'), (1, 'first'), (2, 'last'), (3, 'both')]
for i in d:
cv.create_line(
(10, 10 + i[0] * 20, 110, 110 + i[0] * 20), # 設定直線的起始、終點
arrow=i[1], # 設定直線是否使用箭頭
arrowshape='40 40 10' # 設定箭頭的形狀(填充長度,箭頭長度,箭頭寬度
)cv.pack()
root.mainloop()
# 使用arrow屬性來控制是否顯示箭頭
'''28.直線的joinstyle屬性'''
# -*- coding: utf-8 -*-
# 建立直線,使用joinstyle屬性
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
d = [(0, 'none', 'bevel'), (1, 'first', 'miter'), (2, 'last', 'round'), (3, 'both', 'round')]
for i in d:
cv.create_line(
(10, 10 + i[0] * 20, 110, 110 + i[0] * 20), # 設定直線的起始、終點
arrow=i[1], # 設定直線是否使用箭頭
arrowshape='8 10 3', # 設定箭頭的形狀(填充長度,箭頭長度,箭頭寬度
joinstyle=i[2],
)cv.pack()
root.mainloop()
# 將直線的屬性joinstyle分別設定為bevel/miter/round,測試其效果。
'''29.繪製橢圓'''
# -*- coding: utf-8 -*-
# 繪製橢圓,使用create_oval屬性
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
# 建立乙個長200,寬100的橢圓
cv.create_oval((10, 10, 210, 110), fill='red')
cv.pack()
root.mainloop()
# 指定橢圓的長和寬,圓是長和寬相等的特殊情況。
'''30.建立多邊形'''
# -*- coding: utf-8 -*-
# 建立多邊形(三角形)
from tkinter import *
root = tk()
# 繪製乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
# 建立乙個直角三角形
cv.create_polygon((10, 10, 10, 200, 100, 200), fill='red')
cv.pack()
root.mainloop()
# 指定三個點的座標,三個點座標必須滿足三角形的定義。
'''31.修飾圖形'''
# -*- coding: utf-8 -*-
# 建立多邊形create_ploygon(三角形)
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
# 建立乙個直角三角形
cv.create_polygon((10, 10, 10, 200, 100, 200),
# smooth = true, # 平滑處理,但未找到控制此引數的項
splinesteps=0, # 不明白是控制什麼的???
)cv.pack()
root.mainloop()
# smooth/splinesteps用來修改繪製的圖形,不明白這兩個引數還有其它什麼作用。
'''32.繪製文字'''
# -*- coding: utf-8 -*-
# 使用文字create_text
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
# 建立乙個文字物件,預設設定為居中對齊
cv.create_text((10, 10), text='hello text',
anchor=w
)cv.pack()
root.mainloop()
# 使用anchor控制文字的位置,使用justify控制對齊方式
'''33.選中文字'''
# -*- coding: utf-8 -*-
# 使用文字create_text
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
# 建立乙個文字物件,預設設定為居中對齊
txt = cv.create_text((10, 10), text='hello text',
anchor=w
)# 設定文字的選中起始位置
cv.select_from(txt, 2)
# 設定文字的選中結束位置
cv.select_to(txt, 5)
cv.pack()
root.mainloop()
# 使用anchor控制文字的位置,使用justify控制對齊方式
'''34.建立元件'''
# -*- coding: utf-8 -*-
# 使用子元件create_window
from tkinter import *
root = tk()
# 建立乙個canvas,設定其背景色為白色
cv = canvas(root, bg='white')
# 建立乙個button物件,預設設定為居中對齊
def printwindow():
print('window')
bt = button(cv, text='clickme', command=printwindow)
# 修改button在canvas上的對齊方式
cv.create_window((10, 10), window=bt, anchor=w)
# 新建立的line物件與button有重疊
cv.create_line(10, 10, 20, 20)
# 新建立的line不在button之上,即沒有重疊
cv.create_line(30, 30, 100, 100)
cv.pack()
root.mainloop()
# 使用anchor元件在canvas上的位置,預設情況下為居中對齊,這樣使用後其它的item將不能再使用button戰勝的那塊區域
Tkinter教程之Message篇
tkinter教程之message篇 message也是用來顯示文字的,用法與label基本一樣 1.建立乙個簡單的message from tkinter import root tk 執行程式,可以看到hello之後,message顯示在它的下一行,這也是message的乙個特性。label沒有...
Tkinter使用教程之Android測試工具
實戰解析 from tkinter import from tkinter import ttk def create window 建立視窗 root tk root.title androidtool root.geometry 360x282 root.resizable 0,0 標題行功能 ...
OpenGL教程之著色
jeff molofee nehe 的opengl 教程 著色 原 文 lesson 3 colors 譯 者 cker 上一課中我教給您三角形和四邊形的繪製方法。這一課我將教您給三角形和四邊形新增2種不同型別的著色方法。使用單調著色 flat coloring 給四邊形塗上固定的一種顏色。使用平滑...