self.Settings_UI.pushButton_7.clicked.connect(self.getItem)
def getItem(self):
items = ('OTU0', 'OTU1', 'OTU2')
# 返回两个值,第一个item代表用户选择的值,ok代表用户是否按下了取消
item, ok = QInputDialog.getItem(self, '请选择', '', items)
if ok and item:
self.Settings_UI.lineEdit.setText(item)
QInputDialog.getItem:选择选项的下拉列表
QInputDialog.getText:获取输入的文本内容
QInputDialog.getInt:获取输入数字的计时器
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class QInputDialogDemo(QWidget):
def __init__(self):
super(QInputDialogDemo, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("输入对话框")
layout = QFormLayout()
self.button1 = QPushButton("获取列表中的选项")
self.button1.clicked.connect(self.getItem)
self.lineEdit1 = QLineEdit()
layout.addRow(self.button1, self.lineEdit1)
self.button2 = QPushButton("获取字符串")
self.button2.clicked.connect(self.getText)
self.lineEdit2 = QLineEdit()
layout.addRow(self.button2, self.lineEdit2)
self.button3 = QPushButton("获取整数")
self.button3.clicked.connect(self.getInt)
self.lineEdit3 = QLineEdit()
layout.addRow(self.button3, self.lineEdit3)
self.setLayout(layout)
def getItem(self):
items = ('C', 'C++', 'Ruby', 'Python', 'Java')
item, ok = QInputDialog.getItem(self, "请选择编程语言", "语言列表", items)
if ok and item:
self.lineEdit1.setText(item)
def getText(self):
text, ok = QInputDialog.getText(self, "文本输入框", "输入姓名")
if ok and text:
self.lineEdit2.setText(text)
def getInt(self):
num, ok = QInputDialog.getInt(self, "整数输入框", "输入数字")
if ok and num:
self.lineEdit3.setText(str(num))
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QInputDialogDemo()
main.show()
sys.exit(app.exec_())
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QLineEdit
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle("My App")
widget = QLineEdit()
'''设置输入内容最大长度'''
widget.setMaxLength(10)
'''设置文本框提示'''
widget.setPlaceholderText("Enter your text")
'''设置为只读模式'''
widget.returnPressed.connect(self.return_pressed)
widget.selectionChanged.connect(self.selection_changed)
widget.textChanged.connect(self.text_changed)
widget.textEdited.connect(self.text_edited)
self.setCentralWidget(widget)
def return_pressed(self):
print("按了Enter键!")
self.centralWidget().setText("BOOM!")
def selection_changed(self):
print("选中了文本!")
print(self.centralWidget().selectedText())
def text_changed(self, s):
print("文本改变了!")
print(s)
def text_edited(self, s):
print("文本被编辑了!")
print(s)
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MainWindow()
win.show()
app.exec()