我正在用 python 制作井字游戲,現在我正在使用 Tkinter 設計 GUI。問題是當我在一行中添加 3 個 X 或 O 時,按鈕的高度會縮小。我玩過 (i)padx 和 (i)pady 并更改了字體大小,但我所做的一切都沒有解決這個問題。有人知道怎么修這個東西嗎?
from tkinter import *
win = Tk()
win.configure(bg='light blue')
win.geometry('430x560')
win.title('TicTacToe')
win.resizable(False, False)
lblTitle = Label(win, text='Tic-Tac-Toe', font="Verdana 25 bold", fg='thistle4', bg='azure2',
highlightthickness=2, highlightbackground='thistle3')
lblTitle.pack(ipadx=20, ipady=5, padx=50, pady=10)
p1_turn = False
def click(ind):
if p1_turn:
btnTTT[ind].config(text="X", font='Verdana 45 bold')
else:
btnTTT[ind].config(text="O", font='Verdana 45 bold')
tttFrame = Frame(win, bg='azure2', highlightthickness=2, highlightbackground='thistle3')
tttFrame.pack()
btnTTT = list()
i = 0
for row in range(3):
for col in range(3):
btnTTT.append(Button(tttFrame, text="", bg='cadet blue', height=1, width=1,
fg='thistle', font="Verdana 50", relief='groove',
command=lambda c=i: click(c)))
btnTTT[i].grid(row=row, column=col, sticky="nesw", padx=15, pady=10, ipadx=15, ipady=15)
i = i 1
mainFrame = Frame(win, bg='azure2', highlightthickness=2, highlightbackground='thistle3')
mainFrame.pack(pady=10)
scoreFrame = Frame(mainFrame, bg='azure2')
scoreFrame.grid(row=0, column=0, pady=10)
scoreboard = LabelFrame(scoreFrame, bg='azure2', fg='thistle4', text='Score', font='Verdana 15 bold', labelanchor='nw')
scoreboard.pack(padx=15)
lblPX = Label(scoreboard, bg='thistle', text="Player X:")
lblPX.grid(row=0, column=0, pady=5, padx=5)
lblPO = Label(scoreboard, bg='thistle', text="Player O:")
lblPO.grid(row=1, column=0, pady=5, padx=5)
lblPXScore = Label(scoreboard, bg='white', text=' ', relief='sunken')
lblPXScore.grid(row=0, column=1, padx=5)
lblPOScore = Label(scoreboard, bg='white', text=' ', relief='sunken')
lblPOScore.grid(row=1, column=1, padx=5)
butFrame = Frame(mainFrame, bg='azure2')
butFrame.grid(row=0, column=1)
btnReset = Button(butFrame, text="Reset", font='Verdana 15', fg='thistle')
btnReset.grid(row=0, column=0, padx=15, pady=5, ipady=4, ipadx=3)
btnExit = Button(butFrame, text='Exit', font='Verdana 15', fg='thistle')
btnExit.grid(row=1, column=0, padx=15, pady=5, ipady=3, ipadx=9)
win.mainloop()
uj5u.com熱心網友回復:
您似乎遇到了格式問題,其中文本更改直接改變了按鈕的大小......
Verdana 45 粗體
需要匹配
維達納 50"
注意一個是 50 號而不是粗體,而另一個是 45 號和粗體?如果您將頂行更改為 Verdana 50 并洗掉“粗體”,這將直接解決您的問題。
對我來說,問題在第 18、19 行,需要與第 32 行匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/419300.html
標籤:
