سؤال

لذلك إذا ذهبت إلى QTDesigner وإنشاء واجهة مستخدم ، فسيتم حفظه كملف .ui. كيف يمكنني جعل هذا كملف بيثون أو استخدام هذا في بيثون؟

هل كانت مفيدة؟

المحلول

طريقة أخرى للاستخدام .ui في الكود الخاص بك هي:

from PyQt4 import QtCore, QtGui, uic
class MyWidget(QtGui.QWidget)
    ...
    #somewhere in constructor:
    uic.loadUi('MyWidget.ui', self)

كلا النهجين جيدان. لا تنسى أنه إذا كنت تستخدم ملفات موارد QT (مفيدة للغاية) للرموز وما إلى ذلك ، فيجب عليك تجميعها أيضًا:

pyrcc4.exe -o ui/images_rc.py ui/images/images.qrc

لاحظ ، متى uic يجمع الواجهة ، ويضيف "Import Images_rc" في نهاية ملف .PY ، لذلك يجب عليك تجميع الموارد في الملف بهذا الاسم ، أو إعادة تسميته في رمز تم إنشاؤه.

نصائح أخرى

الجمع إجابة ماكس و قائمة بريش شيرامانا شارما, ، قمت ببناء مثال عمل صغير لتحميل أ mywindow.ui ملف يحتوي على أ QMainWindow (لذلك فقط اختر إنشاء نافذة رئيسية في مصمم QT File-New مربع الحوار).

هذا هو الرمز الذي يحمله:

import sys
from PyQt4 import QtGui, uic

class MyWindow(QtGui.QMainWindow):
    def __init__(self):
        super(MyWindow, self).__init__()
        uic.loadUi('mywindow.ui', self)
        self.show()

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = MyWindow()
    sys.exit(app.exec_())

تحتاج إلى إنشاء ملف Python من ملف واجهة المستخدم باستخدام أداة Pyuic (حزم الموقع pyqt4 bin)

pyuic form1.ui > form1.py

مع PYQT4

pyuic4.bat form1.ui > form1.py

ثم يمكنك استيراد Form1 إلى البرنامج النصي الخاص بك.

لقد وجدت هذا المقال مفيدًا جدًا.

http://talk.maemo.org/archive/index.php/t-43663.html

سأصف بإيجاز الإجراءات اللازمة لإنشاء وتغيير ملف .ui إلى ملف .py ، مأخوذ من هذه المقالة.

  1. ابدأ QT Designer من قائمة البداية الخاصة بك.
  2. من نافذة "نموذج جديد" ، قم بإنشاء "نافذة رئيسية"
  3. من "مصادقة العرض" باتجاه أسفل قائمة "صندوق المصغرة" على الجانب الأيسر
    أضف "عنصر واجهة مستخدم". (انقر فوق السحب والإفلات)
  4. انقر نقرًا مزدوجًا على أداة التسمية المضافة حديثًا لتغيير اسمها إلى "Hello World"
  5. في هذه المرحلة ، يمكنك استخدام Control + R Hotkey لمعرفة كيف ستبدو.
  6. أضف أزرارًا أو نصًا أو عناصر واجهة مستخدم أخرى عن طريق السحب والإسقاط إذا أردت.
  7. الآن احفظ النموذج الخاص بك .. file-> حفظ AS-> "Hello World.ui" (Control + S سيحضر أيضًا
    خيار "حفظ AS") احتفظ بالدليل حيث قمت بحفظ "Hello World" .ui
    ملف. (لقد أنقذت لي (ج :) للراحة)

يتم إنشاء الملف وحفظه ، والآن سنقوم بإنشاء رمز Python منه باستخدام Pyuic!

  1. من قائمة البداية الخاصة بك افتح نافذة أمر.
  2. الآن "قرص مضغوط" في الدليل الذي أنقذته "Hello World.ui" بالنسبة لي ، اضطررت فقط إلى "CD " وكنت في مطالبة "C:>" ، حيث تم حفظ "Hello World.ui".
  3. عندما تصل إلى الدليل حيث يتم تخزين ملفك ما يلي.
  4. pyuic4 -x helloworld.ui -o helloworld.py
  5. تهانينا!! لديك الآن تطبيق Python QT4 واجهة المستخدم الرسومية !!
  6. انقر نقرًا مزدوجًا على ملف HelloWorld.py لتشغيله. (أستخدم pyscripter وعند النقر المزدوج
    يفتح في pyscripter ، ثم "أقوم" بتشغيل الملف من هناك)

أمل أن هذا يساعد شخصاما.

تستطيع ايضا استخذام uic في PYQT5 مع الكود التالي.

from PyQt5 import uic, QtWidgets
import sys

class Ui(QtWidgets.QDialog):
    def __init__(self):
        super(Ui, self).__init__()
        uic.loadUi('SomeUi.ui', self)
        self.show()

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = Ui()
    sys.exit(app.exec_())

يمكنك تحويل ملفات .ui الخاصة بك إلى ملف Python قابل للتنفيذ باستخدام الأمر أدناه ..

pyuic4 -x form1.ui > form1.py

الآن يمكنك تنفيذ ملف Python على الفور

python3(whatever version) form1.py

يمكنك استيراد هذا الملف ويمكنك استخدامه.

الطريقة الأنظف في رأيي هي التصدير أولاً إلى .py كما ذكر أعلاه:

pyuic4 foo.ui > foo.py

ثم استخدمه داخل الكود الخاص بك (على سبيل المثال main.py)، مثل:

from foo import Ui_MyWindow


class MyWindow(QtGui.QDialog):
    def __init__(self):
        super(MyWindow, self).__init__()

        self.ui = Ui_MyWindow()
        self.ui.setupUi(self)

        # go on setting up your handlers like:
        # self.ui.okButton.clicked.connect(function_name)
        # etc...

def main():
    app = QtGui.QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

وبهذه الطريقة ، يمنح القدرة على الأشخاص الآخرين الذين لا يستخدمون QT-Designer لقراءة الكود ، وكذلك يحافظ على رمز وظيفتك بالخارج foo.py يمكن الكتابة فوقها من قبل المصمم. أنت مجرد إشارة ui عبر MyWindow الطبقة كما رأينا أعلاه.

يمكنك تجميع ملفات واجهة المستخدم مثل هذا

pyuic4 -x helloworld.ui -o helloworld.py

من أجل تجميع ملفات .ui إلى ملفات .py ، فعلت:

python pyuic.py form1.ui > form1.py

ATT.

في PYQT5 للتحويل من ملف واجهة المستخدم إلى ملف .py

pyuic5.exe youruifile.ui -o outputpyfile.py -x

باستخدام Anaconda3 (سبتمبر 2018) و QT Designer 5.9.5. في QT Designer ، احفظ ملفك كـ واجهة المستخدم. افتح موجه Anaconda. ابحث عن ملفك: CD C: .... (نسخ/لصق مسار الوصول إلى ملفك). ثم اكتب: pyuic5 -x helloworld.ui -o helloworld.py (helloWorld = اسم ملفك). يدخل. إطلاق سبايدر. افتح ملفك .py.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top