使用pack()的Python Tkinter布局

2024-09-25 02:36:01 发布

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

我是新来的。我想写一个简单的程序并用pack()方法组织它。这是我的密码:

import Tkinter as tk
from Tkinter import *
import xlrd, os, sys, json

class Main():

    def __init__(self):
        global col, col1
        self.master = tk.Tk()
        self.master.title("Zliczanie ilosci spraw")
        self.master.minsize(width=800, height=600)

        plik = 'Aktualnie wybrany plik to: ' + 'Rejestr'

        text = Label(self.master, text = plik)
        text.pack(pady = 20)

        self.wyswietlanie()

    def wyswietlanie(self):
        '''Funkcja, ktora zlicza i wyswietla ilosc spraw pracownikow'''
        policzone_1 = []
        policzone_2 = []
        z = 0

        dzial1 = {
    "Pracownik1": "PRAC1", 
    "Pracownik2": "PRAC2"}

        dzial2 = {
    "Pracownik12": "PRAC12", 
    "Pracownik22": "PRAC22"}

        for nazw in dzial1:
            x = dzial1[nazw]   #nazwisko z pliku excela
            nazwisko = 0
            policzone_1.append((nazw, nazwisko))

        for nazw in dzial2:
            x = dzial2[nazw]   #nazwisko z pliku excela
            nazwisko = 0
            policzone_2.append((nazw, nazwisko))

        posortowane1 = sorted(policzone_1,key=lambda x:x[1], reverse=True)
        posortowane2 = sorted(policzone_2,key=lambda x:x[1], reverse=True)

        dzial3 = Label(self.master)
        dzial3.pack(side = LEFT)

        dzial4 = Label(self.master)
        dzial4.pack(side = LEFT)

        for i in posortowane1:
            wynik = '%s: %s' % (i[0], i[1]) 
            dzial1 = Label(self.master, text = wynik, font = "Verdana 10 bold")
            dzial1.pack(in_ = dzial3, padx = 200)

        for i in posortowane2:
            wynik = '%s: %s' % (i[0], i[1]) 
            dzial2 = Label(self.master, text = wynik)
            dzial2.pack(in_ = dzial4, padx = 200)

    def run(self):
        self.master.mainloop()

glowne = Main()
glowne.run()

结果如下图所示:Tkinter

为什么dzial1和dzial2在这些地方(远离“文本”)?如何组织dzial1、dzial2(使它们彼此更接近)?你知道吗


Tags: textinimportselfmasterfordeflabel