【问题标题】:Make A Button That Opens Another Window in Tkinter制作一个在 Tkinter 中打开另一个窗口的按钮
【发布时间】:2021-12-03 21:26:48
【问题描述】:

我有 2 个窗口。 图形用户界面和信息

我想在 GUI 上制作一个打开信息窗口的按钮,但我不知道该怎么做。

我尝试使用 TopLevel 小部件,但我不知道如何正确实现它。

这是图形用户界面的代码

from tkinter import *
from automata.fa.dfa import DFA
from DFA import arranca


def btn_clicked():
    print("Button Clicked")
    
def submit():
    canvas.itemconfig(Canv, text="\t"+arranca(entry1.get()))

window = Tk()

window.geometry("880x550")
window.configure(bg = "#ffffff")
canvas = Canvas(
    window,
    bg = "#ffffff",
    height = 550,
    width = 880,
    bd = 0,
    highlightthickness = 0,
    relief = "ridge")
canvas.place(x = 0, y = 0)

这是信息的代码

from tkinter import *

window = Tk()

window.title("Information")
window.geometry("700x400")
window.configure(bg = "#ffffff")
canvas = Canvas(
    window,
    bg = "#ffffff",
    height = 400,
    width = 700,
    bd = 0,
    highlightthickness = 0,
    relief = "ridge")
canvas.place(x = 0, y = 0)

background_img = PhotoImage(file = f"background_1.png")
background = canvas.create_image(
    350.0, 188.0,
    image=background_img)

window.resizable(False, False)
window.mainloop()

【问题讨论】:

    标签: python tkinter canvas


    【解决方案1】:

    这段代码演示了如何创建一个带有按钮的Tk 窗口和一个Toplevel 子窗口。

    您所要做的就是用您喜欢的小部件填充这些窗口。

    
    import tkinter as tk
    
    class GUI:
    
        def __init__(self):
            self.parent = tk.Tk()
            self.parent.title("GUI Window")
            # Button control
            button = tk.Button(
                self.parent, text = "New window", command = self.window)
            button.grid(sticky = tk.NSEW)
            # Define window size
            self.parent.geometry("278x26")
    
        def window(self):
            try:
                self.information.winfo_viewable()
            except AttributeError as err:
                self.information = tk.Toplevel(self.parent)
                # Make Toplevel a child of parent
                self.information.transient( self.parent )
                self.information.title("Information Window")
    
                # place all your widgets here
    
            else:
                self.information.focus_force()
    
    if __name__ == "__main__":
        app = GUI()
        app.parent.mainloop()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 2015-01-25
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      相关资源
      最近更新 更多