Я пытаюсь загрузить созданный мной файл .ui. Однако, когда я запускаю свое приложение python, главное окно пусто. Я считаю, что проблема в строке, в которой я загружаю фактический файл. Во всех примерах, которые я видел, вы можете просто загрузить файл, если файл .py находится в том же каталоге. Однако у меня это не сработало, поэтому мне пришлось использовать абсолютный путь. Это устранило FileNotFoundError, которое я получал, но теперь у меня есть эта проблема.
from PyQt5 import QtWidgets, uic
import sys
import os
class Ui(QtWidgets.QMainWindow):
def __init__(self):
super(Ui, self).__init__()
ui_path = os.path.dirname(os.path.abspath(__file__))
uic.loadUiType(os.path.join(ui_path, "myfile.ui"))[0]
self.show()
app = QtWidgets.QApplication(sys.argv)
window = Ui()
app.exec_()
Myfile.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1141</width>
<height>885</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QFrame" name="sidebar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>200</width>
<height>720</height>
</rect>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>720</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(209, 102, 24)</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>40</x>
<y>170</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Graph</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
<widget class="Line" name="line">
<property name="geometry">
<rect>
<x>0</x>
<y>120</y>
<width>200</width>
<height>20</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">color:rgb(255, 255, 255)</string>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>3</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</widget>
<widget class="QFrame" name="topbar">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>200</x>
<y>0</y>
<width>911</width>
<height>135</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>911</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>1920</width>
<height>16777215</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(12, 76, 173)</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QLineEdit" name="lineEdit">
<property name="geometry">
<rect>
<x>430</x>
<y>70</y>
<width>113</width>
<height>20</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(255, 255, 255)</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="placeholderText">
<string>Search</string>
</property>
</widget>
</widget>
<widget class="QFrame" name="body">
<property name="geometry">
<rect>
<x>200</x>
<y>130</y>
<width>911</width>
<height>591</height>
</rect>
</property>
<property name="styleSheet">
<string notr="true">background-color:rgb(255, 254, 247)</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>