Python使用tkinter界面編程中對話框樣式匯總

2020-12-14 python高手養成

在GUI編程中,對話框是用戶交互和檢索信息的重要控制項。今天,我們對tkinter中常用的對話框進行匯總。

tkinter模塊的子模塊messagebox、filedialog、colorchooser、simpledialog中包括了一些常用的預定義好的對話框,當然也可以通過繼承Toplevel創建自定義的對話框。如果對於界面顯示沒有太嚴苛的要求的話,建議還是使用預定義的對話框,無論從功能還是容錯機制上使用預定義好的對話框都是比較有優勢的。下面我們對這些對話框進行梳理匯總。

通用消息對話框

子模塊messagebox主要主要包含askokcancel、askquestion、askretrycancel、askyesno、showerror、showinfo、showwarning等函數。簡單將他們歸類為提問類和顯示類逐一對它們的用法進行解釋。

常用messagebox演示

提問類

askokcancel(title=None, message=None, **options):OK\Cancel對話框

askquestion(title=None, message=None, **options):Yes\No問題對話框

askretrycancel(title=None, message=None, **options):Retry\Cancel對話框

askyesno(title=None, message=None, **options):Yes\No是否對話框

顯示類

showerror(title=None, message=None, **options):錯誤消息對話框

showinfo(title=None, message=None, **options):信息消息對話框

showwarning(title=None, message=None, **options):警告消息對話框

參數解釋

title:對話框窗口標題message:顯示內容(可使用\n、\t等參數對顯示內容進行換行、對齊設置)default=C:默認按鈕,取值為模塊常量CANCEL、GNORE、OK、NO、RETRY、YES,默認為CANCEL按鈕icon=I:圖標取值為模塊常量ERROR、INFO、QUESTION、WARNINGparent=W:父窗口,默認為根窗口

實例演示

from tkinter.messagebox import *

r1 = askokcancel(title='askokcancel', message='是否退出程序?')

r2 = askquestion(title='askquestion', message='確定修改的內容?\n將X修改為Y')

r3 = askyesno(title='askyesno', message='你的名字叫Lucy?')

r4 = askretrycancel(title='askretrycancel', message='系統繁忙,是否重試?')

showerror(title='系統錯誤', message='系統出錯,無法完成任務')

showinfo(title='成功提示', message='恭喜,登錄成功!')

showwarning(title='預警信息', message='系統垃圾過多,請清理後重試操作!')

對於問題類對話框,返回『True』或者『False』,然後判斷執行下一步操作。

文件對話框

子模塊filedialog主要包含askdirectory、askopenfile、askopenfiles、askopenfilename、askopenfilenames、asksaveasfile、asksaveasfilename等函數,用於彈出打開目錄,打開、保存文件對話框。

打開文件對話框
保存文件對話框

askdirectory(**options):打開目錄對話框,返回目錄名稱

askopenfile(**options):打開文件對話框,返回打開的文件對象

askopenfiles(**options):打開文件對話框,返回打開文件對象列表

askopenfilename(**options):打開文件對話框,返回打開文件名稱

askopenfilenames(**options):打開文件對話框,返回打開文件名稱列表

asksaveasfile(mode='w', **options):打開保存對話框,返回保存的文件對象

asksaveasfilename(mode='w', **options):打開保存對話框,返回保存的文件名

參數解釋

defaultextension=s:默認後綴.xxx。用戶沒有輸入後綴自動添加filetypes=[(label1, pattern1), (label2, pattern2), ...]:文件過濾器initialdir=D:初始目錄initialfile=F:初始文件parent=W:父窗口,默認為根窗口title=T:窗口標題實例演示

from tkinter.filedialog import *

f = askopenfilename(title='askopenfilename', initialdir="D:", filetypes=[('所有文件', '*.*'), ('Python源文件', '.py')])

f1 = asksaveasfilename(title='asksaveasfilename', initialdir="E:", filetypes=[('所有文件', '*.*'), ('Python源文件', '.py')])

顏色選擇對話框

tkinter子模塊colorchooser包含顏色選擇對話框函數askcolor

顏色選擇對話框

使用方法如下

from tkinter.colorchooser import askcolor

askcolor(color=None, **options):打開顏色選擇對話框

參數解釋

color:為初始顏色partent=W:父窗口,默認為根窗口title=T:窗口標題有意思的是該函數返回一個元組信息,結構是這樣的((R, G, B), color),RGB的值是0-255之間的整數,color是顏色的十六進位表示。

實例演示

from tkinter.colorchooser import askcolor

c = askcolor(color='yellow', title='顏色選取')

print(c)

簡單對話框

tkinter子模塊simpledialog中包含如下函數,用於打開輸入對話框的函數:

askfloat(title, prompt, **kw):打開輸入對話框,輸入並返回浮點數

askinteger(title, prompt, **kw):打開輸入對話框,輸入並返回整數

askstring(title, prompt, **kw):打開輸入對話框,輸入並返回字符串

simpledialog演示

參數解釋

title:窗口標題prompt:提示文本信息initialvalue:初始值minvalue:最小值max value:最大值實例演示

from tkinter import *

from tkinter.simpledialog import *

root = Tk()

i = askinteger('請輸入', prompt='輸入一個整數:', initialvalue=100, maxvalue=1000, minvalue=1)

f = askfloat('請輸入', prompt='輸入一個實數:', initialvalue=12.0)

s = askstring('請輸入', prompt='輸入字符串:', initialvalue='Yes or No?')

print(i, f, s)

相關焦點

  • Python使用tkinter製作一個簡易的繪圖程序一(Python GUI編程)
    Python有很多GUI庫,tkinter作為一款入門級的圖形庫,基本具備了圖形界面的大部分元素,如果結合ttk、Pmw庫使用的話,其功能就得到了擴展,使用這些庫基本能構建簡單的圖形界面應用。但是,tkinter唯一美中不足的是它的性能問題,它不具備如QT等一些第三方庫的性能,在同一應用程式中設計了關於獲取系統性能的一些功能,tkinter就顯得非常慢(參加Python高手養成關於系統性能查看器製作的內容),雖然其性能可以通過不同的方法得到提升,但這是後話,我們後續章節進行討論。今天結合一個實例,帶大家一起見識一下tkinter的基本使用方法。
  • Python用PyQt5實現多種彈出消息框,QMessageBox控制項使用詳解
    前面內容我們介紹了PyQt5中常用控制項,並針對控制項給出了詳細的使用方法和一些典型的例子。Python界面編程之PyQt5基礎控制項介紹,QSlider滑動條控制項使用詳解各種樣式的消息對話框在PyQt5中定義了一系列的標準對話框類,讓調用者能夠方便和快捷地通過各個類完成相應的操作。這種對話框類都是標準化的,當然,我們也可以自定義相應的內容。
  • Python使用tkinter製作一個簡易的繪圖程序二(Python GUI編程)
    上節課,我們使用Python中tkinter庫製作了一個簡易的畫圖板程序,基本實現了圓、橢圓、矩形、直線等圖形的繪製功能。但是,效果還不是很令人滿意,我們的多邊形還不能正確繪製。這一節我們對多邊形繪製功能進行完善。
  • 使用Python製作一個帶GUI界面的詞雲自動生成工具(連載三)
    任何一門程式語言的學習都是一場需要親歷的過程,只有在過程中你才能體會到沿途的風景,你覺得呢?歡迎大家留言討論(又說廢話了)。二、第二個頁面界面GUI實現的前置知識點分析一、第一個頁面的openFile方法實現的功能是彈出打開文件對話框,打開所選擇的文本文件,並將文件內容顯示在ScrolledText控制項中;nextPage方法比較簡單,當點擊按鈕時,由當前Page轉到下一個Page即可。
  • Python使用tkinter庫進行GUI編程中常用事件處理方式匯總
    在Python GUI編程中,控制項響應事件處理是常用的操作。tkinter庫中事件類型有哪些?事件綁定方式有幾種?如何編寫事件處理函數?這些都是必須要面對的問題。今天,我們對上述內容進行簡要匯總。事件處理方式及類型匯總事件類型用戶通過滑鼠、鍵盤、遊戲控制設備在與圖形界面交互時,就會觸發事件。
  • 用 Python 打造屬於自己的GUI圖形化界面
    限於篇幅,今天我們首先詳細講述一下Thinter的使用方法。本來不準備詳細講述這個基礎知識,但是我怕那些想學習的同學,學起來不過癮,還是補充了這一章。thinter的簡單應用Thinter是python的標準GUI庫。python使用Tkinter可以快速地創建GUI應用程式。
  • python教程之十GUI界面
    前言python提供了幾個開發GUI界面的庫, wsPython是python一款優秀的GUI圖形庫,要安裝wsPython庫後才可以使用。Jython庫是Python語言在Java中的完全實現,要安裝jython庫後才可以使用。
  • Python菜鳥筆記(一)入門以及Tkinter掉坑總結
    先介紹一下學習python前的背景,給各位希望接觸編程可苦於沒有基礎的讀者一點信心。本人目前是機械工程專業(偏力學)的在讀研究僧,在這之前對編程,尤其是python這種面向對象的編程認識幾乎為零,對編程的唯一印象是大一學了C語言,學了什麼並不記得了,然後計算機二級C語言考了兩次,一次59,一次61。
  • Python tkinter教程-04:輸入框
    ,先導入:import tkinter as tk導入名字叫tkinter的庫,並將名字改為tk,這樣方便使用~注意:儘量不要使用IDLE,不然可能會和tkinter有衝突,因為IDLE是tkinter寫的1介紹老規矩,還是要放在mainloop前面,下次就不說了哦!~
  • Python界面編程之PyQt5常見控制項應用展示,單選鈕和複選鈕使用詳解
    一大波複習資料送給大家Python用PyQt5設計漂亮界面之按鈕類控制項的使用,QPushButton詳解Python界面編程之PyQt常見控制項展示,QTextEdit文本框類使用詳解Python界面編程之PyQt常見控制項展示,QLineEdit文本框類使用詳解盤點界面編程中那些常用控制項,詳解PyQt5中標籤控制項QLabel的使用圖形界面編程第一步,深入理解QWidget類,詳解PyQt5的坐標體系今天,我們來了解另外兩種按鈕類控制項QRadioButton和QCheckBox的使用。
  • 分步教學-使用Python+tkinter開發小學生語文拼音與詞組學習機
    任務描述:使用Python+tkinter設計程序界面,藉助於擴展庫pypinyin,實現漢字拼音查詢以及包含特定漢字的詞組及其拼音查詢。代碼中用到了擴展庫pypinyin中提供的兩個字典,可以安裝之後打開那兩個文件看一下,方便了解代碼中查詢功能的原理。
  • Python用PyQt5設計界面,如何正確顯示一幅圖片,QPixmap控制項詳解
    前面內容我們學習了PyQt5中一些基本控制項的使用前期回顧擁有漂亮的筆刷才能繪製多彩界面,PythonPyQt5中QPen和QBrush類Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解Python用PyQt5製作顏色對話框
  • Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解
    前面內容,我們詳細介紹了PyQt5中彈出式對話框。Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框
  • Python GUI編程之tkinter的常用控制項Label的使用
    對於Python GUI編程中標籤的使用也不例外,Tkinter中的標籤控制項Label常常被使用於顯示文本或圖像,今天我們來詳細看下它的使用方法。下面開始今天的內容……它的使用範圍,主要有以下幾種類型:標識信息這個很容易理解,比如,製作一個註冊界面,要輸入內容我們需要使用Entry或者Text等控制項獲取,但是,我們往往使用Label控制項放在這些控制項之前,標識我們需要在文本框內獲取哪些內容。
  • Python爬蟲+tkinter界面實現歷史天氣查詢
    今天咋們用Python 爬蟲+tkinter界面來實現歷史天氣查詢。一、實現效果1. python代碼具體python代碼實現,可關注菜J學Python後回復0215獲得。2.根據用戶輸入的地區和時間,進行字符串的處理,構造出url,用於request請求有該月所有天氣信息的頁面,獲取響應後Xpath定位提取用戶輸入的要查詢的日期的天氣信息,查詢結果顯示在tkinter界面。
  • Python用PyQt5製作顏色對話框,PyQt圖形界面編程之QColorDialog
    前幾篇內容我們介紹了PyQt5中3種常見的標準彈出對話框。Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框如何通過Qt界面設置字體屬性,Python中PyQt5的QFontDialog類詳解Python用PyQt5製作彈出式輸入框,Qt圖形界面編程之QInputDialog今天,我們來介紹另外一種彈出對話框QColorDialog控制項。
  • python初學者必看的學習路線 Python是近幾年比較火的程式語言
    Python是近幾年比較火的程式語言之一,因為人工智慧的火爆,讓很多人都想從事python開發。很多零基礎學員在學習python的時候都會走一些彎路,下面小編就為大家分享python學習路線圖,幫助零基礎學員在學習的時候少走彎路。 很多人都在問Python學習步驟應該如何安排?
  • 第16 p,PYthon中的用戶交互,Python GUI編程
    大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第16篇文章,第二階段的課程:Python基礎知識:PYthon中的用戶交互、Python GUI編程實現方式介紹。
  • 【編程】第一期:Python Tkinter圖形化教學-基本窗口
    開始的話python屬實是一個很好的語言,功能很全,上手簡單,下面來看看python
  • 圖形界面編程技巧,用Python中PyQt5庫快速創建一個應用程式框架
    我們知道,Python中有很多GUI庫,這些庫在創建應用程式時都很方便,常用的GUI庫有tkinter、wxPython、PyQt、Kivy、Pyforms、pyGUI等,比較經典的庫有tkinter、wxPython、PyQt。從今天開始,和小夥伴們一起梳理一下關於PyQt創建GUI應用程式的一些知識點和方法。