PySide6创建对话框应用程序
2021/6/14 1:23:42
本文主要是介绍PySide6创建对话框应用程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本教程演示如何使用一些基本的小部件构建一个简单的对话框。这样做的目的是让用户在QLineEdit中提供自己的名字,点击QPushButton,对话框就会向他们致意。
让我们从一个简单的完整小项目开始,它创建并显示一个对话框。此样例小项目将在本教程中更新,但如果需要,可以按原样使用此此样例小项目:
import sys from PySide6.QtWidgets import QApplication, QDialog, QLineEdit, QPushButton class Form(QDialog): def __init__(self, parent=None): super(Form, self).__init__(parent) self.setWindowTitle("My Form") if __name__ == '__main__': # Create the Qt Application app = QApplication(sys.argv) # Create and show the form form = Form() form.show() # Run the main Qt loop sys.exit(app.exec())
导入对您来说并不新鲜,对于QApplication的创建和Qt主循环的执行也是如此。这里唯一的新奇之处是类定义。
您可以创建任何一个类来为PySide6小部件创建子类。在本例中,我们将QDialog子类化以定义一个自定义对话框,我们将其命名为Form。我们还实现了init()方法,该方法使用父小部件(如果有的话)调用QDialog的init方法。另外,新的setWindowTitle()方法只设置对话框窗口的标题。在main()中,您可以看到我们正在创建一个Form对象并向世界显示它。
创建小部件Create the Widgets
我们将创建两个小部件:一个QLineEdit,用户可以在其中输入自己的名字;一个QPushButton,打印QLineEdit的内容。因此,让我们将以下代码添加到表单的init()方法中:
# Create widgets self.edit = QLineEdit("Write my name here..") self.button = QPushButton("Show Greetings")
从代码中可以明显看出,两个小部件都将显示相应的文本。
创建一个布局来组织小部件:
Create a layout to organize the Widgets
Qt提供了布局支持,可以帮助您组织应用程序中的小部件。在本例中,让我们使用QVBoxLayout垂直地布局小部件。创建小部件后,向init()方法添加以下代码:
# Create layout and add widgets layout = QVBoxLayout(self) layout.addWidget(self.edit) layout.addWidget(self.button)
因此,我们创建布局,用addWidget()添加小部件。
创建问候和连接按钮的函数
最后,我们只需在自定义窗体中添加一个函数并将按钮连接到它。我们的函数将是表单的一部分,因此您必须将其添加到init()函数之后:
# Greets the user向用户致意 def greetings(self): print(f"Hello {self.edit.text()}")
我们的函数只是将QLineEdit的内容打印到python控制台。我们可以通过QLineEdit.text()方法访问文本。
现在我们已经拥有了所有内容,只需要将QPushButton连接到Form.greetings()方法。为此,请在init()方法中添加以下行:
# Add button signal to greetings slot #向插槽添加按钮信号 self.button.clicked.connect(self.greetings)
一旦执行,您可以在QLineEdit中输入您的名字,并在控制台中查看问候语。
完整代码
以下是本教程的完整代码:
import sys from PySide6.QtWidgets import (QLineEdit, QPushButton, QApplication, QVBoxLayout, QDialog) class Form(QDialog): def __init__(self, parent=None): super(Form, self).__init__(parent) # Create widgets self.edit = QLineEdit("Write my name here") self.button = QPushButton("Show Greetings") # Create layout and add widgets layout = QVBoxLayout() layout.addWidget(self.edit) layout.addWidget(self.button) # Set dialog layout self.setLayout(layout) # Add button signal to greetings slot self.button.clicked.connect(self.greetings) # Greets the user def greetings(self): print(f"Hello {self.edit.text()}") if __name__ == '__main__': # Create the Qt Application app = QApplication(sys.argv) # Create and show the form form = Form() form.show() # Run the main Qt loop sys.exit(app.exec())
运行结果:
这篇关于PySide6创建对话框应用程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南