日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyqt5获取文本框里输入的值_实战PyQt5: 060-输入对话框QInputDialog

發布時間:2024/9/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyqt5获取文本框里输入的值_实战PyQt5: 060-输入对话框QInputDialog 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QInputDialog簡介

在GUI應用中,經常有一些簡單的輸入信息需要交互,這時候可以使用QInputDialog來快速完成我們的工作,而不必創建一個新的對話框來實現。

QInputDialog控件是一個標準對話框,由一個文本框和兩個按鈕(ok和cancel)組成。當用戶單擊ok或enter鍵后,在父窗口可以收集通過QInputDialog控件輸入的信息。在QInpuTDialog控件中可以輸入數字,字符串或列表中的選項。

QInputDialog常用方法有:

  • getInt(): 從控件中獲得標準整數輸入;
  • getDouble(): 從控件中獲得標準浮點數輸入;
  • getText(): 從控件中獲得標準字符串的輸入;
  • getItem(): 從控件中獲得列表里的選項輸入;
  • getMultiLineText(): 從控件中獲得多行文本輸入。

QInputDialog常用信號:

  • textValueChanged: 當輸入文本發生改變時,發射該信號;
  • textValueSelected: 當輸入文本被選中時,發射該信號;
  • intValueChanged: 當輸入的整數值發生改變時,發射該信號;
  • intValueSelected: 當選中整數值時,發射該信號;
  • doubleValueChanged: 當輸入的浮點數發生改變時,發生該信號;
  • doubleValueSelected: 當選中浮點數值時,發射該信號。

QInputDialog類繼承關系:

測試QInputDialog

創建文件qinputdialog.py, 分別測試QInputDialog的四個方法:getItem, getText, getInt和getDouble。完整代碼如下:

import?sysfrom?PyQt5?import?QtCore,?QtGui,?QtWidgets#from?PyQt5.QtCore?import?Qtfrom?PyQt5.QtWidgets?import?(QApplication,?QWidget,?QInputDialog,?QFormLayout,?????????????????????????????QPushButton,?QLineEdit)?class?DemoInputDialog(QWidget):????def?__init__(self,?parent=None):????????super(DemoInputDialog,?self).__init__(parent)????????????????????#?設置窗口標題????????self.setWindowTitle('實戰PyQt5:?QInputDialog?Demo!')??????????????#?設置窗口大小????????self.resize(320,?240)??????????????self.initUi()????????????def?initUi(self):????????#創建一個表單布局????????mainLayout?=?QFormLayout(self)????????#設置內部控件之間的間隔????????mainLayout.setSpacing(16)????????????????min_width?=?120????????????????btnGetSel?=?QPushButton('列表選擇輸入對話框',?self)????????btnGetSel.setMinimumWidth(min_width)????????btnGetSel.clicked.connect(self.onGetSelItem)????????self.infoSel?=?QLineEdit(self)????????self.infoSel.setReadOnly(True)????????mainLayout.addRow(btnGetSel,?self.infoSel)????????????????btnGetTxt?=?QPushButton('字符串輸入對話框',?self)????????btnGetTxt.setMinimumWidth(min_width)????????btnGetTxt.clicked.connect(self.onGetText)????????self.infoTxt?=?QLineEdit(self)????????self.infoTxt.setReadOnly(True)????????mainLayout.addRow(btnGetTxt,?self.infoTxt)????????????????btnGetInt?=?QPushButton('整數輸入對話框')????????btnGetInt.setMinimumWidth(min_width)????????btnGetInt.clicked.connect(self.onGetInt)?????????self.infoInt?=?QLineEdit(self)????????self.infoInt.setReadOnly(True)????????mainLayout.addRow(btnGetInt,?self.infoInt)????????????????btnGetDbl?=?QPushButton('浮點數輸入對話框')????????btnGetDbl.setMinimumWidth(min_width)????????btnGetDbl.clicked.connect(self.onGetDouble)????????self.infoDbl?=?QLineEdit(self)????????self.infoDbl.setReadOnly(True)????????mainLayout.addRow(btnGetDbl,?self.infoDbl)????????????????self.setLayout(mainLayout)????????????def?onGetSelItem(self):????????#創建元組并并定義初始值????????items?=?('C',?'C++',?'C#',?'Java',?'Java?Script',?'Go',?'Python')????????#獲取item輸入的值,以及ok鍵的點擊與否(True?或False)????????item,ok=QInputDialog.getItem(self,"選擇輸入對話框",'語言列表',items,0,False)????????if?ok?and?item:????????????#滿足條件時,設置單行文本框的文本????????????self.infoSel.setText(item)????????????????def?onGetText(self):????????text,ok=QInputDialog.getText(self,'文本輸入對話框','輸入姓名:')????????if?ok:????????????self.infoTxt.setText(str(text))????????????????def?onGetInt(self):????????num,ok=QInputDialog.getInt(self,'整數輸入對話框','輸入整數')????????if?ok:????????????self.infoInt.setText(str(num))????????????????def?onGetDouble(self):????????value,ok=QInputDialog.getDouble(self,'浮點數輸入對話框','輸入浮點數')????????if?ok:????????????self.infoDbl.setText(str(value))????????????if?__name__?==?'__main__':????app?=?QApplication(sys.argv)????window?=?DemoInputDialog()????window.show()????sys.exit(app.exec())

運行結果如下圖:

測試QInputDialog

本文知識點

  • 在一些簡單的輸入信息交互場景下使用QInputDialog可提高開發效率;
  • QInputDialog提供了幾種常用的信息輸入方式;
  • 表單QFormLayout的運用;
  • 設置按鈕的最小寬度,以對齊按鈕的排列。

喜歡本文內容就關注,收藏,點贊,評論和轉發。

總結

以上是生活随笔為你收集整理的pyqt5获取文本框里输入的值_实战PyQt5: 060-输入对话框QInputDialog的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。