Полоса прокрутки на вкладке tkinter не работает должным образом.Полоса прокрутки находится внизу моего графического приложения вместо всей вкладки - PullRequest
0 голосов
/ 28 декабря 2018

Полоса прокрутки находится внизу моего приложения, вместо того, чтобы покрывать всю вкладку, фактически полоса прокрутки не работает.Что я должен изменить?

Я сделал это приложение в 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

1 Ответ

0 голосов
/ 28 декабря 2018

Вы говорите 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...