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

2024-04-20 13:36:08 发布

您现在位置:Python中文网/ 问答频道 /正文

滚动条是在我的应用程序底部,而不是覆盖整个标签,事实上滚动条不工作。我该换什么?你知道吗

我在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


Tags: textfromimporttkintercolumntabwinlabel
1条回答
网友
1楼 · 发布于 2024-04-20 13:36:08

你告诉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

相关问题 更多 >