我正在使用Tkinter创建一个GUI,并且已经使用ttk.Notebook()创建了多个选项卡。 在Tab1上有一些Labels和Entry框,在Tab2上有matplotlib图。 我专门使用网格布局管理器。

我遇到的问题是,当我将绘图放置在Tab2上(行= 0)时,它似乎也增加了Tab 1上第0行的大小,在2个标签之间创建了很多空间(应该彼此对上)。

(非常)下面是该代码的最低版本。 我想念什么? 如何独立控制每个选项卡上的行高,以便Tab2上的小部件不设置Tab1上的行高? 先谢谢您的帮助。

import tkinter as tk

from tkinter import ttk

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

import matplotlib.pyplot as plt

import matplotlib

from matplotlib.figure import Figure

matplotlib.use("TkAgg")

class MainGUI(tk.Tk):

def __init__(self):

tk.Tk.__init__(self)

self.title('Title')

self.geometry('750x500')

# Adds tabs to main window

self.nb = ttk.Notebook(self)

self.nb.grid(row=0, column=0, columnspan=5, rowspan=4, sticky='NESW')

self.tab1 = ttk.Frame(self.nb)

self.nb.add(self.tab1, text='Tab1')

self.tab2 = ttk.Frame(self.nb)

self.nb.add(self.tab2, text='Tab2')

# defines a grid 10 x 5 cells in the main window & tabs

rows = 0

cols = 0

while rows < 10:

while cols < 5:

self.rowconfigure(rows, weight=1)

self.columnconfigure(cols, weight=1)

self.tab1.rowconfigure(rows, weight=1)

self.tab1.columnconfigure(cols, weight=1)

self.tab2.rowconfigure(rows, weight=1)

self.tab2.columnconfigure(cols, weight=1)

cols += 1

rows += 1

self.tab1Label = tk.Label(self.tab1, text="This is a Label")

self.tab1Label.grid(column=0, row=0, sticky='NW')

self.tab1Label2 = tk.Label(self.tab1, text="This is also a Label")

self.tab1Label2.grid(column=0, row=1, sticky='NW')

self.makePlot()

def makePlot(self):

f = Figure(figsize=(5, 5), dpi=100)

a = f.add_subplot(111)

a.plot([1, 2, 3, 4, 5, 6, 7, 8], [5, 6, 1, 3, 8, 9, 3, 5])

canvas = FigureCanvasTkAgg(f, self.tab2)

canvas.draw()

canvas.get_tk_widget().grid(column=2, row=0, columnspan=2, sticky='NSEW')

def main():

MainGUI().mainloop()

if __name__ == '__main__':

main()

python ttk.notebook_python - ttk.Notebook每个选项卡上的不同网格大小 - 堆栈内存溢出...相关推荐

  1. python多个摄像头_python - 使用python和OpenCV与VideoCapture洞察多个网络摄像头捕获 - 堆栈内存溢出...

    我正在尝试同时(或几乎同时)从多个网络摄像头捕获图像. 我一直在玩OpenCV ,使用VideoCapture和python编程. 但有一些困惑,希望有人可以帮助解释事情...... 首先,我尝试了V ...

  2. python sobel滤波_python - 如何提高sobel边缘检测器的效率 - 堆栈内存溢出

    即使您正在构建自己的库,您也绝对应该使用库进行卷积,它们将在后端用C或Fortran进行结果运算,这将大大加快速度. 但是,如果您愿意,可以自己做,使用线性可分离滤波器. 这是想法: 图片: 1 2 ...

  3. java打印空白页_java - DocPrintJob在随机主机上打印空白页 - 堆栈内存溢出

    我在各种主机和打印机上打印包含某些标签的PDF时遇到问题. 在某些主机上,我的应用程序打印了许多空白页,但在其他主机上,一切正常. 我不知道为什么. 我没有任何空异常或其他东西. 在装有Linux和带 ...

  4. python tkinter 背景色改变不了_python - Tkinter背景颜色问题 - 堆栈内存溢出

    我有一个脚本,其中包含Tkinter模块,我想每隔3分钟更改一次背景颜色,例如绿色3分钟,然后橙色,然后红色. 我有显示绿色的代码,但无法更改它. 当我在代码中创建函数时,会遇到一些不同的错误,包括& ...

  5. python堆栈反向输出列表_python - IPython:将Python脚本的输出重定向到文件(如bash) - 堆栈内存溢出...

    IPython有自己的上下文管理器来捕获stdout / err ,但它没有重定向到文件,它重定向到一个对象: from IPython.utils import io with io.capture ...

  6. android imageview 上蒙版,android - Android使用蒙版在imageView的一部分上应用colorMatrix colorFilter - 堆栈内存溢出...

    对于给定的位图和掩码: 首先创建一个临时位图: bitmap = BitmapFactory.decodeResource(ctx.getResources(), R.drawable.bitmap) ...

  7. matlab 将图片遮罩处理,matlab - 如何使用交互式网格在matlab上遮罩图像? - 堆栈内存溢出...

    我的工作代码: function [ ] = defect_marking( ) % This function divides a figure into grids. The grid cells ...

  8. springboot上传大文件时内存溢出的可能解决办法

    springboot上传大文件时内存溢出的可能解决办法 在springboot中上传大文件时要考虑内存的情况,一般我们会通过在执行服务时加入-Xms512m -Xmx512m等参数加大堆内存,但这是指 ...

  9. python字体类型arial_python-3.x - 为什么我的font.name属性不影响使用Python-pptx制作的ppt上的字体? 我总是得到arial字体 - 堆栈内存溢出...

    因此,我正在尝试编写一些程序以使用Python将html转换为pptx. 我正在使用一些代码来解析文件,然后在运行级别设置文本格式. 我在空白幻灯片上使用2个文本框架来工作,第一个文本框架用于标题,第 ...

  10. python打开xlsm,python - 使用python在excel xlsm上写数组时拒绝Errno 13权限 - 堆栈内存溢出...

    我正在尝试通过以下公式将协方差矩阵粘贴到现有xlsm文件上,但是它不起作用. Cov Matrix是一个数组. 你能帮我吗? Error I get is: [Errno 13] Permission ...

最新文章

  1. WPF加载程序集中字符串资源
  2. 各主流浏览器内核介绍
  3. Android之如何判断设备是平板还是手机
  4. java 可重入读写锁 ReentrantReadWriteLock 详解
  5. android hook 实例,代码实例分析android中inline hook
  6. Excel 作复合饼图和双轴柱形图
  7. canvas中文显示乱码 html5_40个常见的HTML5 面试问题及答案
  8. 解析Java内存区域
  9. 史上最细的FIFO最小深度计算,(大多数笔试题中都会涉及)
  10. bootstrap table 小计行_【2018/4/11】bootstrapTable添加一行
  11. 计算过去某天距离今天过去了多少天。
  12. c语言学习——设圆半径r = 1.5,圆柱高h = 3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积
  13. Java并发 - 线程的生命周期
  14. 基于opengl的3d漫游游戏 - 古堡危机之丧尸围城
  15. 移动互联网感言(董烨/Joven.Dong)
  16. 设计模式 | 模板模式
  17. Java学习day02-数据类型和运算符
  18. 什么是CPU?什么是计算机?
  19. 社会化营销,微博如何老树发新芽?
  20. linux运维工程师工作职责

热门文章

  1. Spring Cloud各个组件的配套使用
  2. 东北育才10天大总结
  3. 地址坐标LA3708:Graveyard
  4. 测试驱动开发(一)-我们要的不仅仅是“质量”
  5. 第六章 函数逼近-强化学习理论学习与代码实现(强化学习导论第二版)
  6. Python自动关机GUI程序
  7. 【GIS导论】实验五 缓冲区分析和网络分析
  8. Python 双y轴绘制
  9. 【GIS免费精品课程笔记】1 传统数据处理VS大数据处理思维
  10. PHP裁剪图片且保留背景透明