python 菜单按钮打开新窗口_从菜单打开新框架(已打开窗口中的新窗口)

本文介绍了一个使用Tkinter创建的Python应用程序,该程序在主窗口中展示不同的页面。作者遇到的问题是,从菜单“文件>新建测试”打开新窗口时,会创建一个独立的新窗口,而非在当前窗口中切换。代码展示了如何定义菜单栏以及如何在不同页面间切换,但作者寻求解决方案以实现在同一窗口内通过菜单打开新页面。
摘要由CSDN通过智能技术生成

我用一部分代码在一个窗口内打开不同的页面,效果很好。当我试图从菜单(文件>新建测试)打开一个窗口时,它会打开一个新窗口,而不是同一个窗口。我真的很困惑,有几个问题。在如何在同一窗口中从菜单打开窗口。

如果菜单栏是在主页中定义的,为什么它在page1(NewTestWindow)中可见。

为menubar创建单独的类是正确的方法还是最好将其插入类MainWindow中。

import tkinter as tk

from tkinter import font as tkfont

class MenuBar(tk.Menu):

def __init__(self, parent, controller):

tk.Menu.__init__(self, controller)

self.controller = controller

fileMenu = tk.Menu(self, tearoff=0)

self.add_cascade(label="File", underline=0, menu=fileMenu)

fileMenu.add_command(label="New Test", underline=1, command=lambda: SampleApp().show_frame("NewTestWindow"))

fileMenu.add_separator()

fileMenu.add_command(label="Exit", underline=2, command=self.onexit)

def onexit(self):

quit()

class Samp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值