Я создал свой пользовательский интерфейс с помощью Qt Designer:
нравится
Я использовал файл .ui со следующим кодом Python:
Ui_MainWindow, QtBaseClass = uic.loadUiType("vault.ui")
Ui_Credentials, QtBaseClass = uic.loadUiType("credentials.ui")
class Credentials(QMainWindow):
def __init__(self):
super(Credentials, self).__init__()
self.ui = Ui_Credentials()
self.ui.setupUi(self)
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.load.clicked.connect(self.loadVault)
self.ui.next.clicked.connect(self.next)
self.controller = CLI(....)
self.loadVault()
def loadVault(self):
self.ui.vault.clear()
vaults = self.controller.listVaults()
for vault in vaults:
item = QListWidgetItem(vault)
self.ui.vault.addItem(item)
def next(self):
print(self.ui.vault.currentItem().text())
window = Credentials()
window.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Я попытался изменить окно при нажатии следующей кнопки, создав новый класс и используя другой файл пользовательского интерфейса.
Я нашел это сообщение stackoverflow, где это аналогичная проблема, но код в этом посте не использует .ui, и мне не удалось получить рабочий код с .ui файлом. Мне удалось открыть новое окно, когда я не использую свой файл пользовательского интерфейса.
Кто-нибудь знает, как я могу с этим справиться? Не рекомендуется использовать файл .ui?