我目前正在使用tkinter开发一个GUI,它允许用户在不同的框架之间导航。我的代码结构基于this user response。在

我现在的问题是在框架发生变化时自动调整tkinter的窗口以适应其内容。我希望窗口的边框适合红色箭头后面的小部件,如here和{a3}(下面示例代码的输出),这样每个帧中都没有这样的“空白”。在

代码的工作方式是show_frame方法允许在两个定义的帧之间进行更改。在from tkinter import *

class WindowController(Tk):

def __init__(self, *args, **kwargs):

Tk.__init__(self, *args, **kwargs)

container = Frame(root)

container.grid()

self.frames = {}

for F in (FirstWindow, SecondWindow):

frame = F(parent=container, controller=self)

self.frames[F] = frame

frame.grid(row=0, column=0, sticky="nsew")

self.show_frame(FirstWindow)

self.destroy()

def show_frame(self, cont):

frame = self.frames[cont]

frame.tkraise()

class FirstWindow(Frame):

def __init__(self, parent, controller):

self.controller = controller

self.parent = parent

Frame.__init__(self, parent)

# Widgets:

# "Do Nothing" Button

self.Title0 = Button(self, text='Do nothing')

self.Title0.grid(row=0, column=0)

# "Do Nothing" Button

self.Title1 = Button(self, text='Do Nothing')

self.Title1.grid(row=1, column=0)

# Change Frame Button

self.Title2 = Button(self, text='To Second Window', command=lambda: self.controller.show_frame(SecondWindow))

self.Title2.grid(row=2, column=0)

class SecondWindow(Frame):

def __init__(self, parent, controller):

self.controller = controller

self.parent = parent

Frame.__init__(self, parent)

# Widgets:

# "Do Nothing" Button

self.Title0 = Button(self, text='Do nothing')

self.Title0.grid(row=0, column=0)

# "Do Nothing" Button

self.Title1 = Button(self, text='Do Nothing')

self.Title1.grid(row=0, column=1)

# Change Frame Button

self.Title2 = Button(self, text='To First Window', command=lambda: self.controller.show_frame(FirstWindow))

self.Title2.grid(row=0, column=2)

if __name__ == "__main__":

root = Tk()

root.resizable(width=False, height=False)

app = WindowController()

app.mainloop()

我的问题似乎与here中的问题相似,但没有得到解决。在

这是我在这里的第一个问题,所以非常感谢批评。在

python窗口大小动态变化_如何在tkinter中动态调整窗口大小以“自动调整”其内容?...相关推荐

  1. python的loc函数_如何在pandas中使用loc、iloc函数进行数据索引(入门篇)

    在数据分析过程中,很多时候我们需要从数据表中提取出我们需要的部分,而这么做的前提是我们需要先索引出这一部分数据.今天我们就来探索一下,如何在pandas中使用loc函数和iloc函数索引数据. 今天我 ...

  2. python绘图背景透明_如何在 Matplotlib 中更改绘图背景

    介绍Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库.在本教程中,我们将研究如何在Matplotlib中更改绘图的背景.导入数据 ...

  3. python捕获所有异常状态_如何在scrapy中捕获并处理各种异常

    前言 使用scrapy进行大型爬取任务的时候(爬取耗时以天为单位),无论主机网速多好,爬完之后总会发现scrapy日志中"item_scraped_count"不等于预先的种子数量 ...

  4. python entry如何清空_如何清除tkinter中来自Entry小部件的以前输入?

    当我在Entry小部件中输入输入值a并点击Click Me.该按钮调用takes_input()方法,该方法更新Text小部件.看起来是这样的:如何清除tkinter中来自Entry小部件的以前输入? ...

  5. python 运行r语言_如何在R中运行Python

    python 运行r语言 尽管我很喜欢R,但很显然Python还是一种很棒的语言-既适用于数据科学又适用于通用计算. R用户想要在Python中做一些事情可能有充分的理由. 也许这是一个很棒的库,还没 ...

  6. python tkinter frame滚动条_如何在Tkinter中创建带有滚动条的LabelFrame?

    我正在使用Python和Tkinter为我正在编写的程序创建一个GUI,我遇到了一些问题. 我有三个从LabelFrame派生的对象在一个从Frame派生的对象中.LabelFrame子代之一是对应的 ...

  7. python输出文本居中_如何在Tkinter文本小部件中居中文本?

    这是你的代码和修改指示,以便它做你想要的.这是通过添加一个名为insert_centered()的新函数并在文本小部件的内容发生更改时调用它来实现的. 注意,新函数是传递给文本小部件的,而不是硬编码全 ...

  8. python大于等于怎么表示_如何在rejectdb中应用python lambda表达式中的大于等于

    我在reinstdb表中有下面的json记录.在[{ "pid": 12, "sk": [ { "sid": 30, "et&qu ...

  9. python tensorflow 文本提取_如何在tensorflow中保存文本分类模型?

    阅读tensorflow documentation进行文本分类时,我在下面建立了一个脚本,用于训练文本分类模型(正/负).有一件事我不确定.如何保存模型以便以后重用?另外,如何测试我拥有的输入测试集 ...

最新文章

  1. Java SE(2)
  2. 背景建模与前景检测3(Background Generation And Foreground Detection Phase 3)
  3. 奇怪吸引子---一个奇妙的四维混沌吸引子
  4. POJ - 2965 The Pilots Brothers' refrigerator(bfs+路径输出/思维+位运算)
  5. STL:list用法详解
  6. Angular Table test
  7. 如何实现动态加载删除android,关于android:融云IMKit-动态删除或添加plugin-的实现...
  8. dcs服务器性能指标,第6章DCS的性能指标.PDF
  9. AndroidStudio中添加第三库文件的方法
  10. oracle database link创建
  11. 原来你是这样的JAVA[01]-基础一瞥
  12. Windows7 下载android源码
  13. 【MATLAB】求解矩阵方程
  14. 拼多多根据ID取商品详情-API
  15. 有这两款手机拍照扫描软件,去哪都可以轻松使用
  16. 电子变压器的设计工艺重不重要?
  17. 三星P528使用笔记
  18. 咕咚软件显示服务器开小差,咕咚运动怎么用 咕咚运动使用方法
  19. springboot萌宠宠物网店的开发与设计 毕业设计-附源码011042
  20. 共赴数智金融未来,2023数智金融峰会即将召开

热门文章

  1. 安装多版本Chrome
  2. 【磁力链接】专用链接双向转化
  3. 阿里sentinel监控客户端配置
  4. 关于vSphere vMotion的讨论 -3
  5. 关于解决移动端息屏后定时器不工作的问题
  6. 如何在word 插入矢量图
  7. 什么是 里氏代换原则?
  8. Cadence OrCAD 原理图栅格样式的大小设置方法图文教程及视频演示
  9. 计算机期末考试ppt操作,计算机期末考试重点PPT.ppt
  10. trs ids身份服务器系统实现统一身份认证与单点登录平台技术,统一身份认证系统设计与实现...