python GUI庫圖形界面開發(fā)之PyQt5輸入對話框QInputDialog詳細(xì)使用方法與實(shí)例
PyQt5輸入對話框QInputDialog介紹
QInputDialog控件是一個標(biāo)準(zhǔn)對話框,有一個文本框和兩個按鈕(ok和cancel)組成,當(dāng)用戶單擊ok或enter鍵后,在父窗口可以收集通過QInputDialog控件輸入的信息,QInputDialog控件是QDialog標(biāo)準(zhǔn)對話框的一部分
在QInpuTDialog控件中可以輸入數(shù)字,字符串或列表中的選項(xiàng),標(biāo)簽用于提示必要的信息
QInputDialog類中常用的方法
| 方法 | 描述 |
|---|---|
| getint() | 從控件中獲得標(biāo)準(zhǔn)整數(shù)輸入 |
| getDouble() | 從控件中獲得標(biāo)準(zhǔn)浮點(diǎn)數(shù)輸入 |
| getText() | 從控件中獲得標(biāo)準(zhǔn)字符串的輸入 |
| getItem() | 從控件中獲得列表里的選項(xiàng)輸入 |
QInputDialog使用實(shí)例
import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class InputDialogDemo(QWidget):
def __init__(self,parent=None):
super(InputDialogDemo, self).__init__(parent)
#表單布局
layout=QFormLayout()
#創(chuàng)建按鈕,當(dāng)行文本框并建立按鈕點(diǎn)擊與槽函數(shù)的聯(lián)系,添加到布局中
self.btn1=QPushButton('獲得列表里的選項(xiàng)')
self.btn1.clicked.connect(self.getItem)
self.Le1=QLineEdit()
layout.addRow(self.btn1,self.Le1)
# 創(chuàng)建按鈕,當(dāng)行文本框并建立按鈕點(diǎn)擊與槽函數(shù)的聯(lián)系,添加到布局中
self.btn2=QPushButton('獲得字符串')
self.btn2.clicked.connect(self.getText)
self.le2=QLineEdit()
layout.addRow(self.btn2,self.le2)
# 創(chuàng)建按鈕,當(dāng)行文本框并建立按鈕點(diǎn)擊與槽函數(shù)的聯(lián)系,添加到布局中
self.btn3 = QPushButton('獲得整數(shù)')
self.btn3.clicked.connect(self.getInt)
self.le3 = QLineEdit()
layout.addRow(self.btn3, self.le3)
#設(shè)置主窗口的布局及標(biāo)題
self.setLayout(layout)
self.setWindowTitle('Input Dialog例子')
def getItem(self):
#創(chuàng)建元組并定義初始值
items=('C','C++','C#','JAva','Python')
#獲取item輸入的值,以及ok鍵的點(diǎn)擊與否(True 或False)
#QInputDialog.getItem(self,標(biāo)題,文本,元組,元組默認(rèn)index,是否允許更改)
item,ok=QInputDialog.getItem(self,"select input dialog",'語言列表',items,0,False)
if ok and item:
#滿足條件時,設(shè)置單行文本框的文本
self.Le1.setText(item)
def getText(self):
text,ok=QInputDialog.getText(self,'Text Input Dialog','輸入姓名:')
if ok:
self.le2.setText(str(text))
def getInt(self):
num,ok=QInputDialog.getInt(self,'Integer input dualog','輸入數(shù)字')
if ok:
self.le3.setText(str(num))
if __name__ == '__main__':
app=QApplication(sys.argv)
demo=InputDialogDemo()
demo.show()
sys.exit(app.exec_())
允許程序,顯示效果圖如下




代碼分析:
在這個例子中,在QFormLayour布局管理器中放置了三個按妞和三個文本框,當(dāng)單擊按鈕時,將彈出標(biāo)準(zhǔn)對話框,把按鈕的單擊信號與自定義的槽函數(shù)進(jìn)行連接
self.btn1.clicked.connect(self.getItem) self.btn2.clicked.connect(self.getText) self.btn3.clicked.connect(self.getInt)
當(dāng)調(diào)用QInputDialog.getItem()函數(shù)時,QInputDialog控件包含一個QComboBox控件和兩個按鈕,用戶從QComboBox中選擇一個選項(xiàng)后,允許用戶確認(rèn)或取消操作
def getItem(self):
items=('C','C++','C#','JAva','Python')
item,ok=QInputDialog.getItem(self,"select input dialog",'語言列表',items,0,False)
if ok and item:
#滿足條件時,設(shè)置單行文本框的文本
self.Le1.setText(item)
同理,當(dāng)調(diào)用QInputDialog.getText()函數(shù)時,QInputDialog控件包含一個文本框和兩個按鈕,允許用戶輸入字符串
本文詳細(xì)講解了PyQt5輸入對話框QInputDialog詳細(xì)使用方法與實(shí)例,更多關(guān)于這方面的知識請查看下面的相關(guān)鏈接
- python GUI庫圖形界面開發(fā)之PyQt5打開保存對話框QFileDialog詳細(xì)使用方法與實(shí)例
- PyQt5基本控件使用之消息彈出、用戶輸入、文件對話框的使用方法
- Python 使用PyQt5 完成選擇文件或目錄的對話框方法
- 對PyQt5的輸入對話框使用(QInputDialog)詳解
- PyQt5 窗口切換與自定義對話框的實(shí)例
- python3+PyQt5+Qt Designer實(shí)現(xiàn)擴(kuò)展對話框
- PyQt5打開文件對話框QFileDialog實(shí)例代碼
- Python PyQt5標(biāo)準(zhǔn)對話框用法示例
- Python之PyQt6對話框的實(shí)現(xiàn)
相關(guān)文章
pandas對齊運(yùn)算的實(shí)現(xiàn)示例
本文主要介紹了pandas對齊運(yùn)算的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10
詳解Python如何利用pdfplumber提取PDF中的表格
pdfplumber 是一個開源的 python 工具庫 ,它可以輕松的獲取 PDF 文本內(nèi)容、標(biāo)題、表格、尺寸等各種信息,今天來介紹如何使用它來提取 PDF 中的表格,文中通過代碼和圖片講解的非常詳細(xì),需要的朋友可以參考下2024-04-04
Python3實(shí)現(xiàn)發(fā)送QQ郵件功能(附件)
這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)發(fā)送QQ郵件功能,附件方面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
提升Python Scrapy庫數(shù)據(jù)采集速度實(shí)現(xiàn)高效爬蟲
Scrapy是一個強(qiáng)大而靈活的Python爬蟲框架,被廣泛用于數(shù)據(jù)采集、網(wǎng)站抓取和網(wǎng)絡(luò)爬蟲開發(fā),本文將深入介紹Scrapy的功能和用法,并提供豐富的示例代碼,幫助更好地理解和應(yīng)用2023-11-11
利用Python實(shí)現(xiàn)Windows下的鼠標(biāo)鍵盤模擬的實(shí)例代碼
本篇文章主要介紹了利用Python實(shí)現(xiàn)Windows下的鼠標(biāo)鍵盤模擬的實(shí)例代碼,具有一定的參考價值,有興趣的可以了解一下2017-07-07
使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表的方法
在數(shù)據(jù)處理和分析工作中,Excel作為一個廣泛使用的工具,提供了強(qiáng)大的功能來管理和解析數(shù)據(jù),當(dāng)面對大量復(fù)雜的數(shù)據(jù)集時,為了更高效地總結(jié)、分析和展示數(shù)據(jù),創(chuàng)建數(shù)據(jù)透視表成為一種不可或缺的方法,本文將介紹如何使用Python在Excel工作表中創(chuàng)建數(shù)據(jù)透視表2025-01-01
Async?IO在Python中的異步編程工作實(shí)例解析
這篇文章主要為大家介紹了Async?IO在Python中的異步編程工作實(shí)例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Python通過Tesseract庫實(shí)現(xiàn)文字識別
這篇文章主要介紹了Python通過Tesseract庫實(shí)現(xiàn)文字識別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03

