私は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_screen
loginButton
login_screen
たぶん、ログインメソッドはメインウィンドウクラス内にあるべきですか?もしそうなら、どのように私login_screen
はメインウィンドウの方法で押されたボタンを接続することができますか?