Почему этот кадр tkinter не окружает обе кнопки - PullRequest
0 голосов
/ 19 января 2020

Игрался с python3 и tkinter.

Я пытался получить рамку с двумя метками в рамке. Я хотел нарисовать границу вокруг рамки и вокруг каждого из ярлыков.

Как показано ниже, код показывает, что рамка находится только вокруг метки 1. Метка 2 находится ниже блокнота_Frame. Как мне убедиться, что виджеты будут находиться внутри указанного c фрейма?

import tkinter as tk

def main():
    mainWinTk = tk.Tk()
    mainWinTk.title("Setup Server")
    mainWinTk.columnconfigure(0, weight=1)
    mainWinTk.rowconfigure(0, weight=1)
    mainWinTk.rowconfigure(1, weight=1)

    notebook_Frame = tk.Frame(mainWinTk, highlightbackground="green", highlightthickness=3, borderwidth=2, relief='ridge').grid(column=0, row=0, sticky=tk.W+tk.E+tk.S+tk.N)    

    tk.Label(notebook_Frame, text="Label 1", highlightbackground="red", highlightthickness=3).grid(column=0, row=0)
    tk.Label(notebook_Frame, text="Label 2", highlightbackground="red", highlightthickness=3).grid(column=0, row=1)

    mainWinTk.mainloop()
if __name__ == "__main__":
    main()  

1 Ответ

0 голосов
/ 19 января 2020

Только что нашел причину, и да, Брайан Оукли прав.

Вызов tk.Frame () вернет кадр. НО, когда вы делаете tk.Frame (). Grid (), возврат из сетки равен None. Вы должны сделать:

notebook_Frame = tk.Frame(mainWinTk, highlightbackground="green", highlightthickness=3, borderwidth=2, relief='ridge')
notebook_Frame.grid(column=0, row=0, sticky=tk.W+tk.E+tk.S+tk.N)

Как две отдельные строки кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...