【问题标题】:Visual studio code tkinter create windows on topVisual Studio 代码 tkinter 在顶部创建窗口
【发布时间】:2018-09-20 20:42:49
【问题描述】:

我使用 Visual Studio 代码作为 Python 3 的 IDE。使用 tkinter 时,如何使任何新创建的窗口显示在 Visual Studio 代码之上?下面是我正在使用的代码。

from tkinter import *
from tkinter.filedialog import *

def OpenFile():
    ftypes=[('sqlite files','*.sqlite'),('ALL files','*')]
    return askopenfilename(filetypes=ftypes)

def Main():
    OpenFile()

【问题讨论】:

  • 运行 tkinter/python 代码的那一刻发生了什么? GUI 窗口出现在哪里?
  • 如果它创建了一个新窗口,它会显示在 Visual Studio 代码后面。通常使用 tkinter,我得到一个窗口,我得到一个可以单击的窗口,但是使用文件对话框,我必须将 Visual Studio 代码移动到我的另一个监视器。
  • 您能否编辑您的问题以分享一个展示此问题的简短代码示例?
  • 可以!我会在问题中得到一个简化版本。

标签: python-3.x tkinter visual-studio-code


【解决方案1】:

假设您的 GUI 窗口变量是 root,这样您就可以启动 tkinter

root = Tk()

默认情况下,文件对话框是根窗口的子窗口。因此,如果您将根窗口设置为系统上最顶层的窗口,文件对话框也将出现在屏幕上所有其他窗口的上方。为此:

root.wm_attributes('topmost', True)

然后,拨打OpenFile()

【讨论】:

  • 就可以了。谢谢!!
【解决方案2】:

这对我有用:

root = Tk()
root.wm_attributes('-topmost', True)

感谢@Ron 提供的解决方案作为提示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    相关资源
    最近更新 更多