PyQt5, использующий 2 .show(), не может получить доступ ни к одному из них

#user-interface #pyqt5 #qwidget

#пользовательский интерфейс #pyqt5 #qwidget

Вопрос:

Приложение PyQt5, я создаю это приложение и должен был использовать 2 .show (), при запуске кода отображается 2 графических интерфейса. Один пустой графический интерфейс и с моей информацией. Когда я удаляю первый .show(), отображается только пустой графический интерфейс, когда я удаляю второй, никаких идей не появляется.

 import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QGridLayout, `enter code here`QLineEdit, QLabel
from PyQt5.QtWidgets import QPushButton, QVBoxLayout, QFormLayout, QPushButton, `enter code here`QTableWidget, QTableWidgetItem
from PyQt5.QtCore import Qt
import sqlite3

class ExerciseTracker(QWidget):
    def __init__(self):
        super().__init__()
        self.myWindow = QWidget()
        self.title = 'Exercise Tracker'
        self.setWindowTitle(self.title)
        self.setGeometry(200, 400, 300, 200)
        self.move(60, 15)
        self.layout = QFormLayout()
        self.layout.addRow(QLabel('<h2>Welcome to the App!</h2>',              parent=self.myWindow))
        line_edit1 = QLineEdit()
        self.layout.addRow('Day of the week: ', line_edit1)
        line_edit2 = QLineEdit()
        self.layout.addRow('Body Part: ', line_edit2)
        line_edit3 = QLineEdit()
        self.layout.addRow('Input Exercise: ', line_edit3)
        line_edit4 = QLineEdit()
        self.layout.addRow('Input Sets: ', line_edit4)
        line_edit5 = QLineEdit()
        self.layout.addRow('Input Reps: ', line_edit5)
        btn1 = QPushButton('Submit')
        self.layout.addRow(btn1)
        btn2 = QPushButton('Show Records')
        self.layout.addRow(btn2)

        self.myWindow.setLayout(self.layout)
        self.myWindow.show()

def main():
    exercise = QApplication(sys.argv)
    view = ExerciseTracker()
    view.show()
    sys.exit(exercise.exec_())

if __name__ =='__main__':
    main()
  

Комментарии:

1. В чем смысл self.window ? Удалите его и установите макет на self : self.setLayout(self.layout) .