【发布时间】:2021-05-02 14:56:44
【问题描述】:
我用 Tkinter 创建了这个小 GUI。但我想让我的按钮“StartDate”和按钮“...”以及我的 Combobox 与我的 Entry 对象对齐。我尝试使用 pack() 寻找解决方案,但效果不佳。
你有什么想法吗?
import tkinter as tk
from tkinter import ttk
from tkcalendar import Calendar
from tkinter.messagebox import *
from tkinter import filedialog
from tkinter import *
from ttkthemes import ThemedTk
#------------------------------------ Configuration Tkinter ------------------------#
#Conf General
app = tk.Tk()
style = ttk.Style(app)
style.theme_use('clam')
app.geometry("320x260")
app.eval('tk::PlaceWindow . center')
app.attributes("-topmost", True)
app.configure(background='#f4f4f4')
#------------------------------------ Object Tkinter -------------------------------#
#Code Alto
selectalto = tk.Label(app,text = "Select Alto Code",bg='#f4f4f4')
selectalto.grid(column=0, row=0, ipadx=5, pady=5, sticky=tk.W+tk.N)
selectalto_entry = Entry(app)
selectalto_entry.grid(column=1, row=0, ipadx=5, pady=5, sticky=tk.W+tk.N)
#Code PTF
importCode = tk.Label(app,text = "Import Decalog Code",bg='#f4f4f4')
importCode.grid(column=0, row=1, ipadx=5, pady=5, sticky=tk.W+tk.N)
browsebutton = tk.Button(app,text='...', bd = 0)
browsebutton.grid(column=1, row=1, padx=10, pady=5, sticky=tk.N)
#Date
date_text = tk.Label(app,text = "Select Start Date",bg='#f4f4f4')
date_text.grid(column=0, row=2, ipadx=5, pady=5, sticky=tk.W+tk.N)
ttk.Button(app, text='Start Date').grid(column=1, row=2, padx=10, pady=5, sticky=tk.W+tk.N)
#Views
selectviews = tk.Label(app,text = "Select Views",bg='#f4f4f4')
selectviews.grid(column=0, row=3, ipadx=5, pady=5, sticky=tk.W+tk.N)
selectviews_entry = Entry(app, bd =1)
selectviews_entry.grid(column=1, row=3, ipadx=5, pady=5, sticky=tk.W+tk.N)
#Output
selectouput = tk.Label(app,text = "Format Output",bg='#f4f4f4')
selectouput.grid(column=0, row=4, ipadx=5, pady=5, sticky=tk.W+tk.N)
n = tk.StringVar()
selectouput_value = ttk.Combobox(app, textvariable =n)
selectouput_value.grid(column=1, row=4, padx=5, pady=5, sticky="NW")
selectouput_value['values'] = ['.csv', '.xlsx', '.txt', '.json']
#BarProgress
style = ttk.Style()
style.theme_use('clam')
style.configure("blue.Horizontal.TProgressbar",foreground='#003c64', background='#003c64')
my_progress = ttk.Progressbar(app,orient="horizontal",length=300,mode="determinate", style="blue.Horizontal.TProgressbar")
my_progress.grid(columnspan = 2, row=6, padx=10, pady=5, sticky=tk.N)
my_progress['maximum'] = 100
#Extraction
ttk.Button(app, text='Extraction').grid(columnspan = 2, row=5, padx=10, pady=5, sticky=tk.N)
app.mainloop()
谢谢你,
【问题讨论】:
标签: python user-interface tkinter grid