本文主要是介绍PySide6入门教程之六 | Main Window、Widge、Dtialog三大类型窗口的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
PySide6 是用于Python的一个跨平台GUI库,它提供了Qt框架的Python绑定。在PySide6中,QMainWindow
,QWidget
, 和 QDialog
都是非常常用的类,它们各自有特定的应用场景和功能。
🚀🚀🚀 Pyside6实战教程专栏目录入口:点击跳转
目录
- 一、QMainWindow
- 创建方式
- 二、QWidget
- 三、QDialog
一、QMainWindow
QMainWindow 是一个主窗口类,通常用于创建应用程序的主要窗口。它包含了菜单栏、工具栏、状态栏以及一个中心区域。QMainWindow 提供了丰富的功能和灵活性,适用于那些需要复杂用户界面的应用程序。
特点:
- 可以包含菜单栏 (QMenuBar)、工具栏 (QToolBar) 和状态栏 (QStatusBar)
- 中心区域可以设置一个中心部件 (setCentralWidget() 方法)
- 支持多个视图 (通过 QSplitter 或 QTabWidget 实现)
创建方式
使用QT Designer创建Main Window
它分别QMenuBar(菜单栏)、QWidget(中央控件)、QStatusBar(状态栏)
也可以使用代码完成创建:
import sys
from PySide6.QtWidgets import QMainWindow, QApplication, QWidgetclass MainWindow(QMainWindow):def __init__(self):super().__init__()self.setup_ui()def setup_ui(self):self.setWindowTitle("主窗口")self.setCentralWidget(QWidget())if __name__ == "__main__":app = QApplication(sys.argv)win = MainWindow()win.show()sys.exit(app.exec())
二、QWidget
QWidget 是所有用户界面元素的基本类。它可以作为独立的窗口使用,也可以作为更复杂的控件的基类。QWidget 是一个非常基础的类,不包含任何预设的界面组件。
代码创建:
"""
Date: 2024-08-25 01:57:33
LastEditors: xujiayue0721
LastEditTime: 2024-08-25 01:57:36
"""import sys
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButtonclass SimpleWindow(QWidget):def __init__(self):super().__init__()self.setWindowTitle("Simple Window")layout = QVBoxLayout()button = QPushButton("Click me!")layout.addWidget(button)self.setLayout(layout)if __name__ == "__main__":app = QApplication(sys.argv)win = SimpleWindow()win.show()sys.exit(app.exec())
三、QDialog
QDialog 是一个用于创建对话框的类。对话框通常是暂时性的,并且通常用来收集用户的信息或者确认一些动作。QDialog 通常有一个模态行为,即当对话框打开时,用户不能与主窗口交互,直到对话框关闭。
代码创建:
from PySide6.QtWidgets import QDialog, QApplication, QVBoxLayout, QPushButton, QDialogButtonBoxclass Dialog(QDialog):def __init__(self):super().__init__()self.setWindowTitle("Dialog")# 创建布局layout = QVBoxLayout(self)# 添加操作按钮layout.addWidget(QPushButton("Do something"))# 创建并添加按钮框button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)button_box.accepted.connect(self.accept)button_box.rejected.connect(self.reject)layout.addWidget(button_box)if __name__ == "__main__":app = QApplication([])dialog = Dialog()result = dialog.exec()print("Dialog accepted" if result else "Dialog rejected")app.exec()
这篇关于PySide6入门教程之六 | Main Window、Widge、Dtialog三大类型窗口的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!