3
안녕하세요 PyQt는/PySide 전문가,PyQt는/PySide QMainWindow -보기 사이
나는 초보자에 PyQt는/PySide 모두 및 데스크톱 응용 프로그램 개발 (나는 웹 개발자입니다) 오전 전환.
PyQt/PySide 응용 프로그램에서 다른보기를 탐색하는 방법에 대한 질문이 있습니다.
내 앱 (예 : 웹 앱의 페이지) "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()
가 사전에 감사합니다 ...!
안녕하세요, 지적 해 주셔서 감사합니다! 나는 그것을 보았다. 그리고 그것은 나의 목적에 대해 좋게 보인다. 하지만 StackedWidget 사실상의 표준을 사용하여 내 응용 프로그램에 사용하고 있습니까? 내 상황과 같은 상황에서 보통 무엇을 사용 하시겠습니까? 감사! – Sacki
@Sacki : StackedWidget을 사용합니다. 어떤 종류의 "표준"인지는 모르겠지만 이유가 있어야합니다. 그리고 나는 그것이 존재하는 이유가 필요할 때 사용되는 것이라고 생각합니다. :) – dugres
안녕하세요, 답장을 보내 주셔서 감사합니다. 유감스럽게 생각합니다. 나는 그것을 확실히 시도 할 것이다. 다시 한 번 감사드립니다! – Sacki