Отображение QML в пользовательском окне в PyQt6Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Отображение QML в пользовательском окне в PyQt6

Сообщение Anonymous »

Для приложения Qt 6.7, основанного на Python и QML, я пытаюсь отобразить пользовательское окно с закругленными границами и отобразить в нем свой QML-код. Мне удалось сделать первую часть, но я изо всех сил пытаюсь отобразить код QML в окне.
Я пытался использовать QQmlApplicationEngine для загрузки файла QML в мое окно, но это не помогло не работает.
Вот мой текущий код:
main.py:

Код: Выделить всё

from PySide6.QtWidgets import QApplication, QMainWindow, QWidget
from PySide6.QtCore import Qt
from PySide6.QtQml import QQmlApplicationEngine
import sys
from pathlib import Path

class MainWindow(QMainWindow):
def __init__(self):
super().__init__()

w = 1200
h = 800

self.resize(w, h)
self.setWindowFlag(Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground)

self.round_widget = QWidget(self)
self.round_widget.resize(w, h)

self.round_widget.setStyleSheet(
"""
background: rgb(255, 255, 255);
border-radius: 10px;
"""
)

self.qml_engine = QQmlApplicationEngine()
qml_file = Path(__file__).resolve().parent / "main.qml"
self.qml_engine.load(qml_file)

if not self.qml_engine.rootObjects():
sys.exit(-1)

self.show()

if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()

sys.exit(app.exec())

main.qml:

Код: Выделить всё

import QtQuick
import QtQuick.Window

Item {
Rectangle {
anchors.fill: parent
color: "red"
}
}
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/790 ... w-in-pyqt6
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»