第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在窗口中居中許多小部件 [tkinter]

在窗口中居中許多小部件 [tkinter]

千萬里不及你 2023-06-13 17:15:44
我需要將兩個(gè)按鈕居中,我可能需要將更多按鈕居中,但我不能居中超過一個(gè)按鈕,所以我需要幫助......這是代碼:from tkinter import *from tkinter.ttk import * import osroot = Tk()root.geometry("325x100")    def click():    pass        def click2():    pass            button = Button(root, text="Button 1", command=click, width=25)button.grid(row=0, column=0)button2 = Button(root, text="Button 2", command=click2, width=25)button2.grid(row=1, column=0)      root.grid_rowconfigure(0, weight=1)root.grid_columnconfigure(0, weight=1)      root.mainloop()
查看完整描述

2 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

我做了一些測(cè)試,這就是我想出的。我使用了 .pack() 方法而不是 .grid() 方法,我還使用了一個(gè)框架。我是 Python 的新手,但在這里 :)


from tkinter import *

from tkinter.ttk import *

import os


root = Tk()

root.geometry("325x100")


def click():

    pass


def click2():

    pass


frame = Frame(root)

frame.pack(padx = 20, pady = 12)


button = Button(root, text="Button 1", command=click, width=25)

button.pack()


button2 = Button(root, text="Button 2", command=click2, width=25)

button2.pack()



root.mainloop()

這是它的樣子:

http://img1.sycdn.imooc.com//648834120001219303490137.jpg

查看完整回答
反對(duì) 回復(fù) 2023-06-13
?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

不要在第一行增加重量。它迫使它擴(kuò)張。不過,您可能還想考慮其他事情。您最終可能會(huì)在該行上放置其他東西,并且您可能需要那個(gè)東西來擴(kuò)展該行。在當(dāng)前狀態(tài)下,這將導(dǎo)致您遇到“第 22 條軍規(guī)”。您可能需要考慮創(chuàng)建一個(gè)框架來容納所有按鈕,并將整個(gè)框架放在根部。


立即修復(fù):


from tkinter import *

from tkinter.ttk import * 

import os


root = Tk()

root.geometry("325x100")

    

def click():

    pass

        

def click2():

    pass

            

button = Button(root, text="Button 1", command=click, width=25)

button.grid(row=0, column=0)


button2 = Button(root, text="Button 2", command=click2, width=25)

button2.grid(row=1, column=0)


#this is forcing the top row to expand     

#root.grid_rowconfigure(0, weight=1)   

root.grid_columnconfigure(0, weight=1)

      

root.mainloop() 

可能是更好的方法:


from tkinter import *

from tkinter.ttk import * 

import os


root = Tk()

root.geometry("325x100")

    

def click():

    pass

        

def click2():

    pass

    

#by not defining row and column in grid() 

#~ row will be the next available one and column will be 0

    

button_frame = Frame(root)

button_frame.grid(sticky='nswe')

button_frame.grid_columnconfigure(0, weight=1)


#you only need to store a reference if you intend to change/reference/destroy/forget these

#if they are going to always be a button, as initially defined, a reference is dead weight          

Button(button_frame, text="Button 1", command=click, width=25).grid()

Button(button_frame, text="Button 2", command=click2, width=25).grid()


#now you can use grid_rowconfigure without it destroying your button layout      

root.grid_rowconfigure(0, weight=1)

root.grid_columnconfigure(0, weight=1)

      

root.mainloop() 


查看完整回答
反對(duì) 回復(fù) 2023-06-13
  • 2 回答
  • 0 關(guān)注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)