python - 制作一个在 Tkinter 中打开另一个窗口的按钮
问题描述
我有 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()
解决方案
这段代码演示了如何创建一个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()
推荐阅读
- java - 有没有什么简单的方法可以在按下特定按钮后重新运行方法/程序?
- javascript - 将变量内插为组件模板的内联样式参数?
- pandas - 高效的 Dataframe 列(对象)到 DateTime 的转换
- gitlab-ci - 如何使用 lftp 删除除 cgi-bin 和 .ftpquota 之外的所有文件
- docker - CRIT Supervisor 以 root 身份运行(配置文件中没有用户)_将 sameersbn/gitlab 升级到最新版本
- firebase - 不能在颤动的火力基地中一起使用 Where 和 orderBy
- python - pyomo - 将权力包含在约束表达式中的困难
- linux - 您将如何设计一个系统来保护 Linux 中的日志信息?
- java - Android 中的 Firestore 查询行为异常
- java - 线程“主”java.util.zip.ZipException 中的异常:打开 zip 文件时出错