私はこれらの問題に対して他のスレッドからの複数のソリューションを見てきましたが、私が試みたすべてがうまくいきませんでした。私はすべてのフレームを開き、単にそれらの間を切り替えることを試みています、あなたがtkinterで行うことができるように。ウィンドウ間の切り替えPyQt4 Python 3.5
Tkinterのコード:
#Location Of All Frames
Container = tk.Frame(self)
Container.pack(side="top", fill="both", expand=True)
Container.grid_rowconfigure(0, weight=1)
Container.grid_columnconfigure(0, weight=1)
self.Container = Container
#Loop To Select Frames
self.Frames = {}
for F in (Login, Admin, User):
PageName = F.__name__
Frame = F(parent=Container, controller=self)
self.Frames[PageName] = Frame
#Allign Frame
Frame.grid(row=0, column=0, sticky="nsew")
#Call Function Show Frame
self.show_frame(Login)
#Function To Call When Switching Frame
def show_frame(self, PageName):
#If Instance Not Created, Create Instance
if PageName not in self.Frames:
self.Frames[PageName] = PageName(self.Container, self)
Frame = self.Frames[PageName]
Frame.tkraise()
私はPyQt4のためにこれを再作成しようとしているが、これまでのところ成功していません。 私が達成しようとしているのは、
ログインページから始めてください。 ログイン(QtGui.QWidget) そして、一旦ログインすると、ボタンが押されます。次のウィンドウに切り替えます。 プログラムには、複数の異なるレイアウトが切り替えられる必要があります。
現在のコード:
class Application(QtGui.QMainWindow): #This was a solution from someone else that doesn't seem to work
def __init__(self, parent=None):
super(Application).__init__(parent)
self.central_widget = QtGui.QStackedWidget()
self.setCentralWidget(self.central_widget)
login_widget = LoginWidget(self)
login_widget.button.clicked.connect(self.Login)
self.central_widget.addWidget(login_widget)
def Login(self):
logged_in_widget = Admin(self)
self.central_widget.addWidget(logged_in_widget)
self.central_widget.setCurrentWidget(logged_in_widget)
私もページ数が多いためとして、非効率的な参照してください。この方法。
class LoginWidget(QtGui.QWidget):
def __init__(self):
super(Application, self).__init__()
self.initUI() #Call Initialize UI function
def initUI(self):
self.showFullScreen()
(...)
class Admin(QtGui.QWidget):
def __init__(self):
super(Application, self).__init__()
self.initUI() #Call Initialize UI function
def initUI(self):
self.showFullScreen()
(...)
まだ他のウィンドウは作成されていません。
ご協力いただければ幸いです。
これまでにpyqt4で何を試しましたか?あなたのコードを投稿してください – PYPL
@PYPLそこに行く! – Jake