滚动条位于我的应用程序的底部,而不是覆盖整个选项卡,事实上滚动条不起作用。我应该改变什么?
我在 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()
如果有人知道如何处理此错误,我将非常感激
它的外观图片:
最佳答案
您告诉 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()
关于python - tkinter 选项卡中的滚动条无法正常工作。滚动条位于我的 gui 应用程序的底部,而不是覆盖整个选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53962750/