前言:
现时姐妹们对“java输入文本框”大致比较讲究,咱们都想要知道一些“java输入文本框”的相关内容。那么小编也在网摘上收集了一些关于“java输入文本框””的相关资讯,希望小伙伴们能喜欢,大家快快来了解一下吧!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提供了几种常用的信息输入方式;表单QFormLayout的运用;设置按钮的最小宽度,以对齐按钮的排列。
喜欢本文内容就关注,收藏,点赞,评论和转发。
标签: #java输入文本框 #java文本输入框和确定按钮在哪找