Yangyubin 发表于 2022-3-28 20:20:53

tkinter跳转

tkinter首页面的内容是放在一个Frame页面中,在首页面点击按钮后想跳转到一个新的Frame页面,但是跳不过去,新页面的内容在原来的Frame页面下方,使用destory()方法后虽然成功跳过去了,但是原来的页面没有了,我想在新页面中点击菜单栏返回主页面按钮后还能够返回去
我是在多个.py文件中写的内容
main.py中的内容

import tkinter as tk
from FirstPage import *
win=tk.Tk()
win.title('cheng')
FirstPage(win)
win.mainloop()


FirstPage.py页面

from tkinter import *
from tkinter import ttk, messagebox
from RToXYZ import RToXYZ
from tkinter import Menu

class FirstPage(object):
    def __init__(self, master=None):
      self.root = master# 定义内部变量root
      self.root.geometry('%dx%d' % (1536, 864))# 设置窗口大小
      self.cbox1=StringVar()
      self.cbox2 = StringVar()
      self.cbox3 = StringVar()
      self.cbox4 = StringVar()
      menubar = Menu(self.root)
      menubar.add_command(label="返回主页面", command=self.reback)
      self.root.config(menu=menubar)
      self.createPage()
#这个方法不知道怎么弄
def reback(self):
      FirstPage()
      
    def createPage(self):
      self.page = Frame(self.root)# 创建Frame
      self.page.pack(side=TOP, fill=BOTH, expand=1)
      #下拉框
      cbox1=ttk.Combobox(self.page,textvariable=self.cbox1)
      cbox1.place(x=180, y=350)
      cbox1['value'] = ('请选择功能', 'R to XYZ', 'R to L*a*b*')
      cbox1.current(0)
      # 绑定下拉菜单选项
      cbox1.bind("<<ComboboxSelected>>")
      #创建下方的四个按钮
      btn1=Button(self.page, text='参数计算', width=22, height=3, bg="Blue", command=self.clickButton1)
      btn1.place(x=180, y=420)

    def clickButton1(self):
      data=self.cbox1.get()
      if data == '请选择功能':
            messagebox.showinfo(title='提示', message='请选择公式')
      elif data == 'R to XYZ':
            self.page.destroy()
            RToXYZ()
            #self.root.withdraw()
            print('RToXYZ你好')
      else:
            print('你好')
      
RToXYZ.py页面
from tkinter import Frame
import tkinter as tk


class RToXYZ(object):
    def __init__(self, master=None):
      self.root = master# 定义内部变量root
      self.createPage()

    def createPage(self):
      self.page=Frame(self.root)
      self.page.pack()
      text = tk.Text(self.page)
      text.grid()
      text.insert('end', '没错你登录成功,所以看到了我')

一直弄不出来,希望大家能给点建议

有些内容老师不让发出来,所以不好意思了
大致意思就是这样
页: [1]
查看完整版本: tkinter跳转