Saya memiliki alur aplikasi yang terlihat seperti ini. Saat startup, MainWindow ditampilkan dan meminta pengguna untuk memilih proyek atau membuat yang baru. Setelah proyek dibuat atau dipilih dari daftar, saya ingin menutup MainWindow ini dan membuka MainWindow lain.

Di main.py saya kodenya terlihat seperti ini:

app = QApplication([])

ui_project_list_view = ProjectListView()
ui_project_list_view.show()

app.exec_()

Sekarang saya ingin menutup jendela utama pertama (ui_project_list_view) dan membuka jendela utama lainnya (ui_project_view). Kode ini dipanggil dari dalam ui_project_list_view.

ui_project_view = ProjectView()
ui_project_view.show()
main_view.close()

Apa pun urutan yang saya tampilkan atau tutup, aplikasi akan berhenti. Bagaimana saya harus mendesain "aliran jendela" saya?

Terima kasih atas bantuan Anda.

0
jjuser19jj 1 Juni 2020, 12:23

1 menjawab

Jawaban Terbaik

Jika Anda membuka sebagian besar program seperti Word atau Excel- atau QtDesigner misalnya- Anda akan melihat jendela utama kosong inisialisasi, dan kemudian munculan akan muncul meminta Anda untuk memilih proyek Anda.

Jika Anda ingin menerapkan ini ke kode Anda, ProjectView harus menjadi jendela utama dan ProjectListView akan menjadi popup. ProjectView akan memanggil ini setelah inisialisasi, dalam fungsi setup mungkin. Setelah ProjectListView selesai, maka ProjectView hanya perlu memperbarui layar dengan informasi yang dimiliki ProjectListView.

2
Nicholas 1 Juni 2020, 12:36