文章目錄
Message
Message 的基本概念
Widget 控件中的 Message 主要是可以顯示短消息,它的功能與Label類似,但是使用起來更靈活,可自動分行。對於一些不想再做進一步編輯的短文,可以使用 Message 顯示。構造方法如下:
Message(父對象, options)
- 第一個參數:
父對象
,表示這個標籤將建立在哪一個父對象內 - 第二個參數:
options
,參數如下
參數 | 含義 |
---|---|
anchor | 如果空間大於所需時,控制消息的位置 默認是CENTER |
aspect | 控件寬度與高度比 默認是150% |
bd | 邊界寬度 默認是兩個像素 |
background | 背景色彩 |
bg | 背景色彩 |
bitmap | 使用默認位圖當做Message內容 |
cursor | 當鼠標光標移至按鈕上時的形狀 |
foreground | 前景色彩 |
fg | 前景色彩 |
font | 字形、字形樣式與大小 |
height | 高,單位是字符高 |
image | Message 以圖像方式呈現 |
justify | 當有多行文字時,最後一行文字的對齊方式 取值爲LEFT/CENTER/RIGHT(靠左/居中/靠右) 默認是居中對齊 |
padx/pady | Message 文字與邊框的間距,單位是像素 |
relief | 可由此控制文字外框 默認是relief=FLAT |
text | Message 內容,如果有"\n"則可以輸入當行文字 |
textvariable | 文字變量 |
underline | 可以設置第幾個文字有下劃線,從0開始算起 默認是-1,表示無下劃線 |
width | 寬,單位是字符寬 |
wraplength | 文本在多少寬度後換行,單位是像素 |
Message 的基本運用
例子
:
import tkinter
root = tkinter.Tk()
text = "蒼茫的天涯是我的愛,綿綿的青山腳下花盛開。什麼樣的節奏是最呀最開懷。"
message = tkinter.Message(root, bg="lightyellow", text=text, font="times 12 italic")
message.pack(padx=10, pady=10)
root.mainloop()
運行結果:
使用字符串變量處理 text 參數
import tkinter
root = tkinter.Tk()
var = tkinter.StringVar()
var.set("蒼茫的天涯是我的愛,綿綿的青山腳下花盛開。什麼樣的節奏是最呀最開懷。")
message = tkinter.Message(root, bg="lightyellow", textvariable=var, font="times 12 italic")
message.pack(padx=10, pady=10)
root.mainloop()
運行結果:
Messagebox
Python 中的tkinter模塊內有Messagebox模塊,提供了8個對話框,這些對話框可以應用在不同場合
對話框是放在tkinter模塊內的message模塊下,所以若是要使用這些對話框需要在程序開頭增加導入語句
from tkinter import messagebox
消息提示框
顯示一般提示消息
語法格式如下:
showinfo(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
messagebox.showinfo("提示", "提醒消息")
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
消息警告框
顯示警告消息
語法格式如下:
showwarning(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
messagebox.showwarning("警告", "警告消息")
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
消息錯誤框
顯示錯誤消息
語法格式如下:
showerror(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
messagebox.showerror("錯誤", "錯誤消息")
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
消息對話框
顯示詢問
消息
單擊是
按鈕傳回yes
,單擊否
按鈕會傳回no
語法格式如下:
askquestion(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
msg = messagebox.askquestion("詢問", "確定要離開嗎?")
print(msg)
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
顯示確定或取消
消息
單擊確定
按鈕傳回True
,單擊取消
按鈕會傳回False
語法格式如下:
askokcancel(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
msg = messagebox.askokcancel("確定或取消", "確定或者取消?")
print(msg)
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
顯示是或否
消息
單擊是
按鈕傳回True
,單擊否
按鈕會傳回False
語法格式如下:
askyesno(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
msg = messagebox.askyesno("是或否", "是或否?")
print(msg)
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
顯示是或否或取消
消息
單擊是
按鈕傳回True
,單擊否
按鈕會傳回False
,單擊取消
按鈕會傳回None
語法格式如下:
askyesnocancel(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
msg = messagebox.askyesnocancel("是或否或取消", "是或否或取消?")
print(msg)
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
顯示重試或取消
消息
單擊重試
按鈕傳回True
,單擊取消
按鈕會傳回False
語法格式如下:
askretrycancel(title, message, options)
例子
:
import tkinter
from tkinter import messagebox
def myMessage():
msg = messagebox.askretrycancel("重試或取消", "重試或取消?")
print(msg)
root = tkinter.Tk()
tkinter.Button(root, text="點擊此", command=myMessage).pack()
root.mainloop()
運行結果:
參數
- 第一個參數:
title
,是對話框的名稱 - 第二個參數:
message
,是對話框的文字 - 第三個參數:
options
,選擇性參數,參數如下:
參數 | 含義 |
---|---|
default | 選擇默認按鈕,也可以更改此設定 值有YES(是)、NO(不是)、CANCEL(取消)、OK(確定)、RETRY(重試) |
icon | 可設定所顯示的圖標 有INFO、ERROR、 QUESTION、WARNING四種圖標可以選擇 |
parent | 指出當對話框關閉時,焦點窗口將返回此父窗口 |
例子
:default
def myMessage():
msg = messagebox.askyesnocancel("是或否或取消", "是或否或取消?", default=messagebox.CANCEL)
print(msg)
運行結果:
打開此對話框時,默認的選項改爲取消
例子
:icon
def myMessage():
msg = messagebox.askyesnocancel("是或否或取消", "是或否或取消?", icon=messagebox.WARNING)
print(msg)
運行結果:
打開此對話框時,默認的圖標改爲警告
如果運用的得體的好,這些都可以自由組合
如果有不清楚的,可以直接CTRL + 鼠標左鍵單擊message進入源代碼,源代碼可以看得很清楚
謝謝觀看,筆者會持續更新,如有錯誤或者建議,請私信我