python - tkinter 选项卡中的滚动条无法正常工作。滚动条位于我的 gui 应用程序的底部,而不是覆盖整个选项卡

标签 python tkinter scrollbar

滚动条位于我的应用程序的底部,而不是覆盖整个选项卡,事实上滚动条不起作用。我应该改变什么?

我在 tkinter 中制作了这个应用程序,但它看起来并不像我想要的那样。 下面的代码显示了它的样子,在链接中我放置了我的应用程序的屏幕

import tkinter as tk    
from tkinter import ttk    
from tkinter import scrolledtext    
from tkinter import Menu    
from functools import partial    
from math import sqrt, erfc, pi    
from scipy.integrate import quad  ## funkcja calkujaca    
import numpy as np    
from matplotlib import cm    
import matplotlib.pyplot as plt    
from mpl_toolkits.mplot3d import Axes3D    

win = tk.Tk()    


win.title("Aplikacja do projektowania")    

tabControl = ttk.Notebook(win)  # Create Tab Control    

tab1 = ttk.Frame(tabControl)  # Create a tab    
tabControl.add(tab1, text='Obliczenia poglądowe')  # Add the tab    
tab2 = ttk.Frame(tabControl)  # Add a second tab    
tabControl.add(tab2, text='Obliczenia zaawansowane')  # Make second tab     visible    

tabControl.pack(expand=1, fill="both")  # Pack to make visible    


dane = ttk.LabelFrame(tab1, text=' Wstaw dane ')    
dane.grid(column=0, row=0, padx=8, pady=2)    
dane2 = ttk.LabelFrame(tab2, text=' Wartości: ')    
dane2.grid(column=0, row=0, padx=5, pady=4)    


dane2 = ttk.LabelFrame(tab2, text=' Wartości: ')    
dane2.grid(column=0, row=0, padx=5, pady=4)   

我猜问题是由下面的代码造成的,但我不知道如何更改它

scrollbar = tk.Scrollbar(win)    
scrollbar.pack(side = tk.RIGHT, fill = tk.Y)             
scrollbar.config(command = dane2.config)



a0_label = ttk.Label(dane2, text="   ")    
a0_label.grid(column=0, row=0, sticky='W')    
a1_label = ttk.Label(dane2, text="Maksymalne godzinowe obciążenie gruntu: [W] ")    
a1_label.grid(column=0, row=1, sticky='W')    

win.mainloop()   

如果有人知道如何处理此错误,我将非常感激

它的外观图片:

picture of how does it look

最佳答案

您告诉 tkinter 打包 tabControl 并使用所有可用空间。在打包tabControl之前创建并打包滚动条,这样你想让滚动条使用的空间就没有了。

import tkinter as tk
from tkinter import ttk

win = tk.Tk()
win.title("Aplikacja do projektowania")
tabControl = ttk.Notebook(win)  # Create Tab Control
tab1 = ttk.Frame(tabControl)  # Create a tab
tabControl.add(tab1, text='Obliczenia poglądowe')  # Add the tab
tab2 = ttk.Frame(tabControl)  # Add a second tab
tabControl.add(tab2, text='Obliczenia zaawansowane')  # Make second tab visible

# Packing the scrollbar before the tabControl
scrollbar = tk.Scrollbar(win)
scrollbar.pack(side = tk.RIGHT, fill = tk.Y)

tabControl.pack(expand=1, fill="both")  # Pack to make visible
dane = ttk.LabelFrame(tab1, text=' Wstaw dane ')
dane.grid(column=0, row=0, padx=8, pady=2)
dane2 = ttk.LabelFrame(tab2, text=' Wartości: ')
dane2.grid(column=0, row=0, padx=5, pady=4)
dane2 = ttk.LabelFrame(tab2, text=' Wartości: ')
dane2.grid(column=0, row=0, padx=5, pady=4)
a0_label = ttk.Label(dane2, text="   ")
a0_label.grid(column=0, row=0, sticky='W')
a1_label = ttk.Label(dane2, text="Maksymalne godzinowe obciążenie gruntu: [W] ")
a1_label.grid(column=0, row=1, sticky='W')
scrollbar.config(command = dane2.config)

win.mainloop()

New window

关于python - tkinter 选项卡中的滚动条无法正常工作。滚动条位于我的 gui 应用程序的底部,而不是覆盖整个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53962750/

相关文章:

python - 为什么我的 Button 的命令在创建 Button 时立即执行,而不是在单击时执行?

python - tkinter 的 filedialog 中的 (initialdir) 不适用于变量

wpf - 在分组 ListView 中滚动

python - 如何将进度条连接到函数?

javascript - 没有jquery的自定义滚动条

html - 无法让滚动条显示在溢出文本上

python - 将数据从 excel 电子表格导入到 django 模型

python - docker-compose构建错误: command 'gcc' failed with exit status 4

python - Django URL 匹配任意 140 个字符

python - python中字符串列表的问题