Список Tkinter и полоса прокрутки не отображаются - PullRequest
1 голос
/ 03 мая 2020

У меня возникла проблема, когда полоса прокрутки не отображается в списке. Я не знаю, в чем проблема.

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

На выходе отображается окно списка без полосы прокрутки справа (как установлено)

Вот список со значением для l oop, однако он отображает неправильные размеры enter image description here

Вот код:

#imports
from tkinter import *
from tkinter import messagebox as ms
from tkinter import ttk
import sqlite3
from PIL import Image,ImageTk
import datetime

global time 
time = datetime.datetime.now()

class main:
    def __init__(self,master):

        self.master = master

def search_user_sql(self):

        self.search_user_sqlf = Frame(self.master, height=300, width =200)

        scrollbar = Scrollbar(self.search_user_sqlf)
        scrollbar.pack(side = RIGHT,fill = BOTH)

        myList = Listbox(self.search_user_sqlf, yscrollcommand= scrollbar.set)
        myList.pack( side = LEFT, fill = BOTH, expand = 2)

        scrollbar.config( command = myList.yview )

self.search_user_sql()

root = Tk()
root.title("Gym Membership System")
main(root)
root.mainloop()

1 Ответ

1 голос
/ 03 мая 2020

Вам нужно упаковать кадр, чтобы отобразить его. Чтобы упаковать () кадр с правильными настройками размера, попробуйте:

search_user_sqlf = Frame(master, height=300, width=200)
search_user_sqlf.pack(expand=True, fill='both')
search_user_sqlf.pack_propagate(0)

Вот как прикрепить полосу прокрутки к списку, заданному в кадре в Tkinter:

from tkinter import *

master = Tk()


search_user_sqlf = Frame( master, width=400, height=400)
search_user_sqlf.pack(expand=True, fill='both')
search_user_sqlf.pack_propagate(0)
scrollbar = Scrollbar(search_user_sqlf)
scrollbar.pack(side=RIGHT, fill=Y)
myList = Listbox(search_user_sqlf, yscrollcommand=scrollbar.set)

for line in range(100):
   myList.insert(END, "This is line number " + str(line))

myList.pack( side = LEFT, fill = BOTH , expand = 2)
scrollbar.config( command = myList.yview )

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