【问题标题】:Opening window, no matter which button I press?打开窗口,无论我按哪个按钮?
【发布时间】:2019-08-30 11:17:23
【问题描述】:

我用 tkinter 做了一个游戏。现在我想制作一个窗口,当我按下 6 时它会打开。但问题是,每次按下按钮时它都会打开(不管是什么按钮)。但我只是想让它打开,当你按 6 时。所以它甚至打开,当我按空格,或者 m,n ...

self.root = Tk()
        self.root.geometry("400x400")
        self.root.title("Win Number Changer")

        def key_6():
            global board, playing, statusMessage
            if event.keysym == "6":
                self.root.mainloop()
            else:
                pass

当我按下 6 时,我希望窗口打开。但如果我按下任何其他按钮,则不会。感谢您的帮助!

【问题讨论】:

标签: python python-3.x tkinter


【解决方案1】:

如果您想通过按键6打开root窗口,您可以执行以下操作:

import tkinter as Tk
import keyboard

keyboard.wait(hotkey='6')
root = Tk.Tk()
root.geometry('400x400')
root.title('Win Number Changer')
root.mainloop()

或者,如果您想在按下按钮时生成额外的TopLevel 窗口,请执行以下操作:

import tkinter as Tk

root = Tk.Tk()
root.geometry('400x400')
root.title('Win Number Changer')

def key_6(event):
    if event.keysym == '6':
        Tk.Toplevel(root) #spawns new window
        root.withdraw() #hides the root window

root.bind('<Key>', key_6)

root.mainloop()

【讨论】:

  • 我尝试了示例 nr。 2,它不工作,可悲的是。知道为什么?
  • 它对我有用。我在 Windows 10 上使用 Python 3.7
  • 如果我没有看到 Traceback 错误,诸如“知道为什么”之类的问题很难回答
猜你喜欢
  • 1970-01-01
  • 2020-12-13
  • 1970-01-01
  • 2012-06-17
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 2017-06-14
  • 1970-01-01
相关资源
最近更新 更多