私はPySideに少し慣れていません。一度に1つのウィジェットを表示するメインウィンドウオブジェクトがあります。QMainWindowボタンを押したときにウィンドウに表示されているウィジェットを置き換えるために、クラスの中央ウィジェットを変更しようとしています。問題は、押されたボタンがメインウィンドウクラスではなく、Widgetクラスにあることです。
いう...
class App(QtGui.QMainWindow):
def __init__(self):
super(App, self).__init__()
self.initUI()
def initUI(self):
self.statusBar().showMessage('Listo.') #Status Bar
self.login_screen = LoginScreen()
self.logged_in_screen = LoggedInScreen()
self.setCentralWidget(self.login_screen)
self.setGeometry(300, 300, 450, 600) #Window Size
self.setWindowTitle('PyTransactio - Client') #Window Title
self.setWindowIcon(QtGui.QIcon('icon.png')) #App Icon
self.show()
押されたボタンはlogin_screenインスタンス内にあります。ボタンがクリックされたときに呼び出されるメソッドは、LoginScreenクラス内にあります。
def login(self):
""" Send login data to the server in order to log in """
#Process
self.setParent(None)
親ウィジェットを設定すると、メインウィンドウからNoneウィジェット()が削除されます。(ウィジェット内)が押されたときにメインウィンドウの中央ウィジェットとしてlogin_screen別のウィジェット(例)を取得するにはどうすればよいですか?logged_in_screenloginButtonlogin_screen
たぶん、ログインメソッドはメインウィンドウクラス内にあるべきですか?もしそうなら、どのように私login_screenはメインウィンドウの方法で押されたボタンを接続することができますか?