こんにちはPyQt/PySideの専門家、
私はPyQt/PySideとデスクトップアプリケーション開発の両方の初心者です(私はWeb開発者です)。
PyQt/PySideアプリケーションのさまざまなビュー間を移動する方法について質問があります。
私のアプリにビュー(つまり、Webアプリのページのような)「TEST1」(デフォルト)と「TEST2」があり、対応するツールバー項目をクリックしてそれらを切り替えたいとします。
QMainWindow.setCentralWidget()を使用して、ツールバーボタンがクリックされるたびに要求されたビューを設定できると思いましたが、これはPyQt / PySideのさまざまなビュー間を移動する通常の方法ですか?
参考までに、上記を説明するためのサンプルコードを投稿します。
#!/usr/bin/env python
import sys
from PySide import QtCore
from PySide.QtCore import *
from PySide.QtGui import *
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# toolbar action 1
self.test1_action = QAction(QIcon('icons/test1.png'), 'Test 1', self)
self.test1_action.triggered.connect(self.show_test1_view)
# toolbar action 2
self.test2_action = QAction(QIcon('icons/test2.png'), 'Test 2', self)
self.test2_action.triggered.connect(self.show_test2_view)
# create toolbar
self.toolbar = self.addToolBar('Actions')
self.toolbar.addAction(self.test1_action)
self.toolbar.addAction(self.test2_action)
# default view is test1, so call the method to set the central widget to "test1" view.
self.show_test1_view()
# switch to "test1" view - just a simple label here.
def show_test1_view(self):
self.test1_view = QLabel('TEST1 VIEW')
self.setCentralWidget(self.test1_view)
# switch to "test2" view - just a simple label here.
def show_test2_view(self):
self.test2_view = QLabel('TEST2 VIEW')
self.setCentralWidget(self.test2_view)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
sys.exit()
前もって感謝します...!