目录
一:输入框
要在 PySide6 中建立输入框并获取其值,你可以使用 QLineEdit 类。以下是一个简单的示例,展示了如何在 PySide6 窗口中添加一个输入框,并获取用户输入的值:
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('My Window')
self.setGeometry(100, 100, 400, 300)
# 创建一个输入框
self.input_box = QLineEdit(self)
self.input_box.move(150, 150) # 设置输入框的位置
# 创建一个按钮
btn = QPushButton('获取值', self)
btn.move(200, 200) # 设置按钮的位置
btn.clicked.connect(self.on_click) # 设置按钮的点击信号与槽的连接
def on_click(self):
# 获取输入框的值
value = self.input_box.text()
print('输入的值:', value)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
二:对话框
在 PySide6 中,你可以使用 QDialog 类来创建对话框,并通过信号和槽机制获取用户输入的值。以下是一个简单的示例,展示了如何在 PySide6 中创建对话框并获取用户输入的值:
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog, QVBoxLayout, QLineEdit, QLabel
class MyDialog(QDialog):
def __init__(self, parent=None):
super().__init__(parent)
self.initUI()
def initUI(self):
self.setWindowTitle('对话框')
self.setGeometry(300, 300, 250, 150)
layout = QVBoxLayout()
self.setLayout(layout)
label = QLabel('请输入值:', self)
layout.addWidget(label)
self.line_edit = QLineEdit(self)
layout.addWidget(self.line_edit)
btn = QPushButton('确定', self)
btn.clicked.connect(self.on_click)
layout.addWidget(btn)
def on_click(self):
value = self.line_edit.text()
print('输入的值:', value)
self.accept() # 关闭对话框并返回确认状态
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('主窗口')
self.setGeometry(100, 100, 400, 300)
btn = QPushButton('打开对话框', self)
btn.clicked.connect(self.on_click)
btn.move(150, 150) # 设置按钮的位置
def on_click(self):
dialog = MyDialog()
result = dialog.exec() # 显示对话框并等待用户操作
if result == QDialog.Accepted: # 判断用户是否点击了“确定”按钮
print('用户输入了值')
else: # 如果用户点击了“取消”按钮或者关闭对话框,则返回否认状态
print('用户没有输入值')
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())