PythonとQt Designerを使用して新しいウィンドウを開く方法について説明します。この記事では、PyQt5を使用して複数のウィンドウを作成し、それらを適切に管理する方法を学びます。
新しいウィンドウの作成
Qtでは、親がない任意のウィジェットはウィンドウになります。したがって、新しいウィンドウを表示するには、新しいウィジェットのインスタンスを作成するだけです。これは任意のウィジェットタイプ(技術的にはQWidgetのサブクラス)で、別のQMainWindowであっても構いません。QMainWindowのインスタンスの数に制限はありません。
以下に、新しいウィンドウを作成し、表示するためのPythonコードを示します。
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QVBoxLayout, QWidget
import sys
class AnotherWindow(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout()
self.label = QLabel("Another Window")
layout.addWidget(self.label)
self.setLayout(layout)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.button = QPushButton("Push for Window")
self.button.clicked.connect(self.show_new_window)
self.setCentralWidget(self.button)
def show_new_window(self, checked):
w = AnotherWindow()
w.show()
app = QApplication(sys.argv)
w = MainWindow()
w.show()
app.exec_()
このコードでは、メインウィンドウにボタンがあり、そのボタンをクリックすると新しいウィンドウが表示されます。
注意点
新しいウィンドウを作成する際には、いくつか注意点があります。新しいウィンドウを作成しただけでは不十分で、それを表示する必要があります。また、新しいウィンドウが一瞬だけ表示されてすぐに消えてしまう場合は、ウィンドウ(ウィジェット)オブジェクトがガベージコレクションにより削除されてしまっている可能性があります。
以上がPythonとQt Designerを使用して新しいウィンドウを開く方法になります。この知識を活用して、より複雑なGUIアプリケーションを作成してみてください。.