0
ユーザがボタンをクリックしたときに別のGUIを開くために起動時に実行されるGUIを作ろうとしています。だから私の起動ファイルに、私が持っている:別のGUIファイルからGUIファイルを開くPyQT5
class Startup(object):
def setup_ui(self, Dialog):
Dialog.setObjectName("Dialog")
...
self.start_button = QtWidgets.QPushButton('', Dialog)
self.start_button.clicked.connect(self.start_program)
...
def start_program(self):
# segmentation = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
# sys.exit(segmentation.exec_())
...
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Dialog = QtWidgets.QDialog()
ui = Startup()
ui.setup_ui(Dialog)
Dialog.show()
sys.exit(app.exec_())
私はこのようなルックスを起動しようとしているGUIのための私の主なファイル:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
font = QtGui.QFont("Times", 30, QtGui.QFont.Bold)
MainWindow.setObjectName("NBA Predictor")
MainWindow.resize(1150, 790)
self.centralwidget = QtWidgets.QWidget(MainWindow)
...
をただし、ユーザーが「開始」をクリックしたときボタンを押すと、メイン画面が.1秒間開き、すぐに終了します。私は正しいexitコマンドを持っていないことが問題だと思います。しかし、私はstart_program機能の行コメントを外した場合:私は、スタートボタンをクリックしたときに
# segmentation = QtWidgets.QApplication(sys.argv)
と
# sys.exit(segmentation.exec_())
を、窓は両方のウィンドウクローズ後、第2のために開きます。何か案は?