【问题标题】:Tkinter! Simulate pop-out window特金特!模拟弹出窗口
【发布时间】:2017-07-07 01:55:36
【问题描述】:

我需要这方面的帮助。我刚刚开始学习 Tkinter,但我在做这件事时遇到了一些困难:

图片:带有新窗口的主窗口

基本上,我想做的是在最初弹出的主窗口(根或主窗口)中创建一个框架。该框架将包含标签和按钮;此外,它将位于其他标签和按钮之上。与我发布的图像类似。我试图通过创建一个新窗口来实现这一点,但新窗口带有标题、最小化、最大化和关闭按钮,这是我不想要的。我想达到与我发布的图像类似的结果。提前谢谢你。

【问题讨论】:

  • 您可以在窗口上调用.overrideredirect(True) 以摆脱标准装饰。但是,我没有看到任何简单的方法可以将其置于另一个窗口的中心。
  • 这是一个用户可以移动和调整大小的浮动窗口,还是嵌入根窗口的窗口?

标签: python tkinter


【解决方案1】:

如果你不需要浮动窗口,你可以只创建一个框架并使用place将它放置在窗口的中心。

这是一个基本示例:

import tkinter as tk

class Popout(tk.Frame):
    def __init__(self, parent):
        tk.Frame.__init__(self, parent, background="black", padx=10, pady=10)
        title = tk.Label(self, text="How to play", font=("Helvetica", 16), anchor="w",
                         background="black", foreground="white")
        instructions = tk.Label(self, text="The goal of Klondike is to blah blah blah...",
                                background="black", foreground="white", anchor="w")
        cb = tk.Checkbutton(self, text="Do not show again", highlightthickness=0,
                            background="black", foreground="white")
        oneof = tk.Label(self, text="1 of 6", background="black", foreground="white")
        close_btn = tk.Button(self, text="Close", background="black", foreground="white")
        next_btn = tk.Button(self, text="Next", background="black", foreground="white")

        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(1, weight=1)

        title.grid(row=0, column=0, columnspan=2, sticky="ew")
        oneof.grid(row=0, column=2, sticky="ne")
        instructions.grid(row=1, column=0, columnspan=3, sticky="nsew", pady=10)
        cb.grid(row=2, column=0, sticky="w")
        close_btn.grid(row=3, column=1, sticky="ew", padx=10)
        next_btn.grid(row=3, column=2, sticky="ew")

root = tk.Tk()
root.geometry("600x400")

p = Popout(root)
p.place(relx=.5, rely=.5, anchor="center")

root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 2011-12-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多