Кнопка справа, несмотря на то, что она находится только во 2-й (1) колонке - PullRequest
0 голосов
/ 05 октября 2018
import random
from tkinter import *


root = Tk()

FirstPageFrame = Frame(root)  # CREATES FIRST PAGE FRAME
FirstPageFrame.pack()  # CREATES FIRST PAGE FRAME


RolltheDiceTitle = Label(FirstPageFrame, text="Roll the Dice")
RolltheDiceTitle.config(font=("Courier", 30))
RolltheDiceTitle.grid()

LoginRegisterWelcomeMessage = Label(FirstPageFrame, text="Welcome to the Roll the Dice Game.")
LoginRegisterWelcomeMessage.grid(row=1, padx=10, pady=10)

DiceImage = PhotoImage(file="dice.png")
DiceImageLabel = Label(FirstPageFrame, image=DiceImage)
DiceImageLabel.grid()

registerButton = Button(FirstPageFrame, text="Register", fg="orange")  # CREATES REGISTER BUTTON
registerButton.grid(row=4, padx=10, pady=10)
loginButton = Button(FirstPageFrame, text="Login", fg="Green")  # CREATES LOGIN BUTTON
loginButton.grid(row=4, column=1, padx=10, pady=10)


root.mainloop()  # Continues tkinter window loop so program does not close

Я пытаюсь расположить кнопки регистрации и входа в середине окна (где расположена кнопка регистрации), но рядом, не сложено.

Извинения за неправильное форматированиес этим вопросом или любые простые исправления с помощью кода.Я супер новичок в Tkinter и пытаюсь разобраться:)

1 Ответ

0 голосов
/ 06 октября 2018

Когда вы помещаете кнопку «Вход» в столбец 1, все остальные виджеты находятся в столбце 0, поэтому кнопка «Вход» будет отображаться справа.

Одним из решений является создание контрольного фрейма для кнопок, который можно поместить в центр столбца 0, а затем размещение кнопок в кульминациях в этом фрейме.

Я явно указал row и colun для всех виджетов, что облегчает отслеживание, а также назначил цвет bg для buttonFrame, чтобы вы могли видеть, куда он идет.

import random
from tkinter import *


root = Tk()

FirstPageFrame = Frame(root)  # CREATES FIRST PAGE FRAME
FirstPageFrame.pack()  # CREATES FIRST PAGE FRAME

RolltheDiceTitle = Label(FirstPageFrame, text="Roll the Dice")
RolltheDiceTitle.config(font=("Courier", 30))
RolltheDiceTitle.grid(row=0, column=0)

LoginRegisterWelcomeMessage = Label(FirstPageFrame, text="Welcome to the Roll the Dice Game.")
LoginRegisterWelcomeMessage.grid(row=1, column=0, padx=10, pady=10)

DiceImage = PhotoImage(file="dice.png")
DiceImageLabel = Label(FirstPageFrame, image=DiceImage)
DiceImageLabel.grid(row=2, column=0)

# Here is the container frame for the buttons. 
buttonFrame = Frame(FirstPageFrame, bg='tan') # bg color to indicate 
buttonFrame.grid(row=3)                       # position and extent of frame

registerButton = Button(buttonFrame, text="Register", fg="orange")  # CREATES REGISTER BUTTON
registerButton.grid(row=0, column=0, padx=10, pady=10)
loginButton = Button(buttonFrame, text="Login", fg="Green")  # CREATES LOGIN BUTTON
loginButton.grid(row=0, column=1, padx=10, pady=10)

root.mainloop()  # Continues tkinter window loop so program does not close
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...