«

Pyside6和QML显示一个窗口

admin 发布于 阅读:203 PyGUI


以下是使用 PySide6 创建一个简单窗口的示例代码:

import sys
from PySide6.QtWidgets import QApplication, QMainWindow

# 创建一个自定义的主窗口类,继承自 QMainWindow
class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setWindowTitle("我的窗口")  # 设置窗口标题
        self.setGeometry(100, 100, 400, 300)  # 设置窗口的位置和大小

if __name__ == "__main__":
    app = QApplication(sys.argv)  # 创建应用程序对象

    window = MainWindow()  # 创建主窗口对象
    window.show()  # 显示窗口

    sys.exit(app.exec())  # 进入应用程序的主循环,直到应用程序退出

在上述代码中,我们首先定义了一个继承自 QMainWindow 的类 MainWindow ,在其 init 方法中设置了窗口的标题、位置和大小。然后在 if name == "main": 部分创建应用程序对象和窗口对象,并显示窗口,最后启动应用程序的主循环。
要在 PySide6 中结合 QML 代码,您需要使用 QQmlApplicationEngine 。以下是一个简单的示例:
首先,创建一个 QML 文件(例如 main.qml):

import QtQuick 2.15
import QtQuick.Controls 2.15

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: "QML 窗口"

    Button {
        text: "点击我"
        onClicked: {
            console.log("按钮被点击")
        }
    }
}

然后,在 Python 代码中加载这个 QML 文件:

import sys
from PySide6.QtGui import QGuiApplication
from PySide6.QtQml import QQmlApplicationEngine

if __name__ == "__main__":
    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine()
    engine.load("main.qml")  # 加载 QML 文件

    if not engine.rootObjects():
        sys.exit(-1)

    sys.exit(app.exec())

运行 Python 代码,将会显示一个由 QML 定义的窗口,其中包含一个按钮,点击按钮会在控制台输出信息。

python qt QML