python - Loading .ui files in PyQt5 causes delays -
i'm developing project pyqt5, , i'm having problems ui. created interface qt designer, generated .ui file, imported code, , showed window wanted on screen. however, have problem. there second delay in displaying window on screen.
here .ui file:
<?xml version="1.0" encoding="utf-8"?> <ui version="4.0"> <class>form</class> <widget class="qwidget" name="form"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>461</width> <height>320</height> </rect> </property> <property name="windowtitle"> <string>form</string> </property> <widget class="qlabel" name="label"> <property name="geometry"> <rect> <x>20</x> <y>20</y> <width>47</width> <height>13</height> </rect> </property> <property name="text"> <string>textlabel</string> </property> </widget> <widget class="qpushbutton" name="pushbutton"> <property name="geometry"> <rect> <x>180</x> <y>280</y> <width>75</width> <height>25</height> </rect> </property> <property name="text"> <string>pushbutton</string> </property> </widget> <widget class="qlineedit" name="lineedit"> <property name="geometry"> <rect> <x>120</x> <y>60</y> <width>80</width> <height>25</height> </rect> </property> </widget> <widget class="qlineedit" name="lineedit_2"> <property name="geometry"> <rect> <x>220</x> <y>60</y> <width>80</width> <height>25</height> </rect> </property> </widget> <widget class="qlineedit" name="lineedit_3"> <property name="geometry"> <rect> <x>320</x> <y>60</y> <width>80</width> <height>25</height> </rect> </property> </widget> <widget class="qlineedit" name="lineedit_4"> <property name="geometry"> <rect> <x>20</x> <y>60</y> <width>80</width> <height>25</height> </rect> </property> </widget> <widget class="qlabel" name="label_2"> <property name="geometry"> <rect> <x>310</x> <y>70</y> <width>47</width> <height>13</height> </rect> </property> <property name="text"> <string>-</string> </property> </widget> <widget class="qlabel" name="label_3"> <property name="geometry"> <rect> <x>110</x> <y>70</y> <width>47</width> <height>13</height> </rect> </property> <property name="text"> <string>-</string> </property> </widget> <widget class="qlabel" name="label_4"> <property name="geometry"> <rect> <x>210</x> <y>70</y> <width>47</width> <height>13</height> </rect> </property> <property name="text"> <string>-</string> </property> </widget> </widget> <resources/> <connections/> </ui>
here .py file:
# -*- coding: utf-8 -*- # form implementation generated reading ui file 'uifiles/untitled.ui' # # created by: pyqt5 ui code generator 5.9 # # warning! changes made in file lost! pyqt5 import qtcore, qtgui, qtwidgets import sys class ui_form(object): def setupui(self, form): form.setobjectname("form") form.resize(461, 320) self.label = qtwidgets.qlabel(form) self.label.setgeometry(qtcore.qrect(20, 20, 47, 13)) self.label.setobjectname("label") self.pushbutton = qtwidgets.qpushbutton(form) self.pushbutton.setgeometry(qtcore.qrect(180, 280, 75, 25)) self.pushbutton.setobjectname("pushbutton") self.lineedit = qtwidgets.qlineedit(form) self.lineedit.setgeometry(qtcore.qrect(120, 60, 80, 25)) self.lineedit.setobjectname("lineedit") self.lineedit_2 = qtwidgets.qlineedit(form) self.lineedit_2.setgeometry(qtcore.qrect(220, 60, 80, 25)) self.lineedit_2.setobjectname("lineedit_2") self.lineedit_3 = qtwidgets.qlineedit(form) self.lineedit_3.setgeometry(qtcore.qrect(320, 60, 80, 25)) self.lineedit_3.setobjectname("lineedit_3") self.lineedit_4 = qtwidgets.qlineedit(form) self.lineedit_4.setgeometry(qtcore.qrect(20, 60, 80, 25)) self.lineedit_4.setobjectname("lineedit_4") self.label_2 = qtwidgets.qlabel(form) self.label_2.setgeometry(qtcore.qrect(310, 70, 47, 13)) self.label_2.setobjectname("label_2") self.label_3 = qtwidgets.qlabel(form) self.label_3.setgeometry(qtcore.qrect(110, 70, 47, 13)) self.label_3.setobjectname("label_3") self.label_4 = qtwidgets.qlabel(form) self.label_4.setgeometry(qtcore.qrect(210, 70, 47, 13)) self.label_4.setobjectname("label_4") self.retranslateui(form) qtcore.qmetaobject.connectslotsbyname(form) def retranslateui(self, form): _translate = qtcore.qcoreapplication.translate form.setwindowtitle(_translate("form", "form")) self.label.settext(_translate("form", "textlabel")) self.pushbutton.settext(_translate("form", "pushbutton")) self.label_2.settext(_translate("form", "-")) self.label_3.settext(_translate("form", "-")) self.label_4.settext(_translate("form", "-")) class window(qtwidgets.qwidget,ui_form): def __init__(self): qtwidgets.qwidget.__init__(self) ui_form.__init__(self) self.setupui(self) def main(): app = qtwidgets.qapplication(sys.argv) m = window() m.show() app.exec() if __name__ == "__main__": main()
here print of how screen stays when delay occurs, approximately 1 2 seconds generate interface:
and here full screen:
i noticed delay in self.retranslateui(form)
or if try set setupui()
object's characteristics settext()
or connect project signal.
if comment call of function retranslateui()
in setupui()
, occurs "well" - window executed without delay, information of widgets not set.
Comments
Post a Comment