كيفية تشغيل البرنامج الذي تم إنشاؤه بواسطة Pyuic4؟
-
18-09-2019 - |
سؤال
أنا جديد على pyqt على الرغم من أنني أعرف ثعبان قليلا .. أردت مصمم كيو تي برمجة واجهة المستخدم الرسومية لأنها ستجعل عملي أسهل. لقد اتخذت حوار بسيط في مصمم QT وتحويلها باستخدام Pyuic4.
from PyQt4 import QtCore, QtGui
class Ui_Form1(object):
def setupUi(self, Form1):
Form1.setObjectName("Form1")
Form1.resize(495, 364)
self.listWidget = QtGui.QListWidget(Form1)
self.listWidget.setGeometry(QtCore.QRect(60, 100, 221, 111))
self.listWidget.setObjectName("listWidget")
self.lineEdit = QtGui.QLineEdit(Form1)
self.lineEdit.setGeometry(QtCore.QRect(60, 250, 221, 26))
self.lineEdit.setObjectName("lineEdit")
self.pushButton = QtGui.QPushButton(Form1)
self.pushButton.setGeometry(QtCore.QRect(350, 170, 92, 28))
self.pushButton.setAutoDefault(False)
self.pushButton.setObjectName("pushButton")
self.retranslateUi(Form1)
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.listWidget.clear)
QtCore.QMetaObject.connectSlotsByName(Form1)
def retranslateUi(self, Form1):
Form1.setWindowTitle(QtGui.QApplication.translate("Form1", "Form1", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("Form1", "X", None, QtGui.QApplication.UnicodeUTF8))
أريد تشغيل هذا البرنامج. كيفية تشغيل هذا البرنامج من هذا الملف عن طريق استيراد هذا؟ أعلم أنه سؤال أساسي للغاية.
المحلول
قد تمر -x
المعلمة إلى Pyuic. سيولد رمز Addional لجعل البرنامج النصي قابل للتنفيذ.
في التطبيق الحقيقي، يجب أن تكتب بشكل أفضل فئة فرعية من QMainWindow
والتي يمكن أن تبدو مثل هذا:
# Store this code in the file MyMainWindow.py
from PyQt4.QtGui import *
class MyMainWindow(QMainWindow):
def __init__(self, ui_layout):
QMainWindow.__init__(self)
self.ui = ui_layout
ui_layout.setupUi(self)
وأيضا إنشاء برنامج نصي قابل للتنفيذ رئيسي في نفس الدليل مثل mymainwindow.py:
from PyQt4.QtGui import *
from MyMainWindow import *
from Form1 import * # replace Form1 the name of your generated file
import sys
app = QApplication(sys.argv)
window = MyMainWindow(Ui_Form1())
window.show()
sys.exit(app.exec_())
ثم قم بتشغيل هذا البرنامج النصي الأخير لإطلاق البرنامج.
لا تنتمي إلى StackOverflow