ยังไงเพื่อเปลี่ยน.qml วนขยายแฟ้มเป็น.ส่วนติดต่อผู้ใช้ที่จะใช้มันใน pyqt5 องโปรแกรม

0

คำถาม

ฉันสร้างการออกแบบของโปรแกรมเกี่ยวกับ qt designer และจากนั้นเปลี่ยนทุกหน้าต่างจะเป็นแฟ้มไพธอนโดยใช้คำสั่ง pyuic5 ตัวอย่างส่วนติดต่อผู้ใช้-o example.py อยู่ในสามารถทำให้เป็น Ui_Form ชั้นเรียนและรอจนกว่าผมจะเรียกโปรแกรมของผม. ดังนั้นทุกสิ่งกำลังทำงานแต่ตอนนี้เราต้องเปลี่ยนของเราออกแบบและเราได้ qml งแฟ้ม คำถามคือวิธีที่จะทำงานกับเรื่องนี้ qml แฟ้มโดยไม่เปลี่ยนแนวคิดของมายากที่ app มีวิธีการเหมือน pyuic5(จะได้ Ui_Form เรียน)จะกลายร่างที่ qml และใช้มันใน pyqt5.

นี่คือเป็นตัวอย่างของเก่าของแอพ:

from main_screen import Ui_Form as Ui_main_screen
class MainScreen(QWidget, Ui_main_screen):
    teachButton = False
    manageButton = False
    utilitiesButton = False
    adminButton = False
    helpButton = False
    systemButton = False
    inspectionButton = False
    modelSelected = None
    def __init__(self):
        super(MainScreen, self).__init__()
        #QWidget.__init__(self)
        self.setupUi(self)
        self.trans = QTranslator(self)

        self.toLanguage()
        self.product()
        self.Menu() .....

อย่างที่คุณเห็นฉันนำเข้าที่ Ui_Form เข้าไปใน MainScreen ห้องเรียน ตอนนี้ฉันอยากจะทำแบบเดียวกันกับที่ qml แฟ้ม

import QtQuick 2.7
Item {
    width:904
    height:678
    Image {
        id: background
        source: "images/background.png"
        x: 0
        y: 1
        opacity: 1
    }
    Image {
        id: logo
        source: "images/logo.png"
        x: 691
        y: 34
        opacity: 1
    }
    Image {
        id: teach
        source: "images/teach.png"
        x: 717
        y: 154
        opacity: 1
    }
    Image {
        id: administration
        source: "images/administration.png"
        x: 711
        y: 410
        opacity: 0.49803921568627
    }
    Image {
        id: system
        source: "images/system.png"
        x: 708
        y: 468
        opacity: 0.49803921568627
    }
    Image {
        id: utilities
        source: "images/utilities.png"
        x: 711
        y: 353
        opacity: 0.49803921568627
    }
    Image {
        id: help
        source: "images/help.png"
        x: 712
        y: 524
        opacity: 0.49803921568627
    }
    Image {
        id: teachinf_wizard
        source: "images/teachinf_wizard.png"
        x: 740
        y: 196
        opacity: 1
    }
    Image {
        id: inspection
        source: "images/inspection.png"
        x: 713
        y: 295
        opacity: 0.49803921568627
    }
    Image {
        id: manage
        source: "images/manage.png"
        x: 714
        y: 239
        opacity: 1
    }
}

ดังนั้นไงบ้างเพื่อเอาอะไรบางอย่างเหมือน Ui_Form เรียนกับ qml แฟ้ม

pyqt5 python qml
2021-11-12 10:19:15
1

คำตอบที่ดีที่สุด

2

สั้นๆตอบ:

ไม่มันไม่สามารถเสร็จแล้ว

นานคำตอบ:

คน.ส่วนติดต่อผู้เป็นแค่การตั้งค่าของวิธีที่ qwidgets ควรจะแสดงอีกด้านนึง,qml คือตั้งโปรแกรมภาษาที่ตั้งแต่พวกเขาบ่งบอกยังไงที่สิ่งมีปฏิสัมพันธ์.

เข้าใกล้คำนั้นที่สุดสำหรับสิ่งที่คุณต้องการคือการเป็นสามารถที่จะฝังใจในระ qml เข้า QWidget ใช้สำหรับตัวอย่างเช่น QQuickWidget:

import os
import sys
import os
from pathlib import Path


from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQuickWidgets import QQuickWidget


CURRENT_DIRECTORY = Path(__file__).resolve().parent


def main():

    app = QApplication(sys.argv)

    widget = QQuickWidget(resizeMode=QQuickWidget.ResizeMode.SizeRootObjectToView)
    filename = os.fspath(CURRENT_DIRECTORY / "main.qml")
    url = QUrl.fromLocalFile(filename)
    widget.setSource(url)
    widget.show()

    sys.exit(app.exec_())


if __name__ == "__main__":
    main()
2021-11-12 23:10:07

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่