1. 程式人生 > 程式設計 >python GUI庫圖形介面開發之PyQt5輸入對話方塊QInputDialog詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5輸入對話方塊QInputDialog詳細使用方法與例項

PyQt5輸入對話方塊QInputDialog介紹

QInputDialog控制元件是一個標準對話方塊,有一個文字框和兩個按鈕(ok和cancel)組成,當用戶單擊ok或enter鍵後,在父視窗可以收集通過QInputDialog控制元件輸入的資訊,QInputDialog控制元件是QDialog標準對話方塊的一部分

在QInpuTDialog控制元件中可以輸入數字,字串或列表中的選項,標籤用於提示必要的資訊

QInputDialog類中常用的方法

方法 描述
getint() 從控制元件中獲得標準整數輸入
getDouble() 從控制元件中獲得標準浮點數輸入
getText() 從控制元件中獲得標準字串的輸入
getItem() 從控制元件中獲得列表裡的選項輸入

QInputDialog使用例項

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()

    #建立按鈕,當行文字框並建立按鈕點選與槽函式的聯絡,新增到佈局中
    self.btn1=QPushButton('獲得列表裡的選項')
    self.btn1.clicked.connect(self.getItem)
    self.Le1=QLineEdit()

    layout.addRow(self.btn1,self.Le1)

    # 建立按鈕,當行文字框並建立按鈕點選與槽函式的聯絡,新增到佈局中
    self.btn2=QPushButton('獲得字串')
    self.btn2.clicked.connect(self.getText)
    self.le2=QLineEdit()
    layout.addRow(self.btn2,self.le2)

    # 建立按鈕,當行文字框並建立按鈕點選與槽函式的聯絡,新增到佈局中
    self.btn3 = QPushButton('獲得整數')
    self.btn3.clicked.connect(self.getInt)
    self.le3 = QLineEdit()
    layout.addRow(self.btn3,self.le3)

    #設定主視窗的佈局及標題
    self.setLayout(layout)
    self.setWindowTitle('Input Dialog例子')
  def getItem(self):
    #建立元組並定義初始值
    items=('C','C++','C#','JAva','Python')
    #獲取item輸入的值,以及ok鍵的點選與否(True 或False)
    #QInputDialog.getItem(self,標題,文字,元組,元組預設index,是否允許更改)
    item,ok=QInputDialog.getItem(self,"select input dialog",'語言列表',items,False)

    if ok and item:
      #滿足條件時,設定單行文字框的文字
      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','輸入數字')
    if ok:
      self.le3.setText(str(num))
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=InputDialogDemo()
  demo.show()
  sys.exit(app.exec_())

允許程式,顯示效果圖如下

python GUI庫圖形介面開發之PyQt5輸入對話方塊QInputDialog詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5輸入對話方塊QInputDialog詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5輸入對話方塊QInputDialog詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5輸入對話方塊QInputDialog詳細使用方法與例項

程式碼分析:

在這個例子中,在QFormLayour佈局管理器中放置了三個按妞和三個文字框,當單擊按鈕時,將彈出標準對話方塊,把按鈕的單擊訊號與自定義的槽函式進行連線

self.btn1.clicked.connect(self.getItem)
self.btn2.clicked.connect(self.getText)
self.btn3.clicked.connect(self.getInt)

當呼叫QInputDialog.getItem()函式時,QInputDialog控制元件包含一個QComboBox控制元件和兩個按鈕,使用者從QComboBox中選擇一個選項後,允許使用者確認或取消操作

  def getItem(self):
    items=('C','Python')
    item,False)
    if ok and item:
      #滿足條件時,設定單行文字框的文字
      self.Le1.setText(item)

同理,當呼叫QInputDialog.getText()函式時,QInputDialog控制元件包含一個文字框和兩個按鈕,允許使用者輸入字串

本文詳細講解了PyQt5輸入對話方塊QInputDialog詳細使用方法與例項,更多關於這方面的知識請檢視下面的相關連結