在我重新发明轮子之前。是否有(或多或少)用于 Tkinter 弹出式键盘的标准库?
我需要弹出式数字键盘(0-9,.,...等)和全键盘(aZ,AZ,0-9,.,...等)。
我目前有一个不错的数字键盘,但是(像往常一样)我的客户在我完成后告诉我他们也想要一个完整的键盘。
有点像第二个问题,但主题相同。在这两个兄弟窗口之间弹出的正确方法是什么,以便无论您来回翻转多少次,它们都返回到原始父级。
在我重新发明轮子之前。是否有(或多或少)用于 Tkinter 弹出式键盘的标准库?
我需要弹出式数字键盘(0-9,.,...等)和全键盘(aZ,AZ,0-9,.,...等)。
我目前有一个不错的数字键盘,但是(像往常一样)我的客户在我完成后告诉我他们也想要一个完整的键盘。
有点像第二个问题,但主题相同。在这两个兄弟窗口之间弹出的正确方法是什么,以便无论您来回翻转多少次,它们都返回到原始父级。
我遇到了同样的问题,除了自己创建(或至少大幅改进)一个解决方案外,没有找到合适的解决方案。我用了
作为创建我自己的解决方案的起点。它需要可用于输入复杂的密码,因此它具有常规键盘支持的小写和大写字母、数字和(大多数)符号的键。
但是,由于需要将其放在小屏幕上,我将数字和符号放在第三层(如符号移位)。这给我带来了与您在问题的第二部分(在层之间切换)中遇到的基本相同的问题。
我通过实现三个键盘(每层一个)并销毁一个特定的键盘以及包含它的框架并在每次我想在这些层之间进行更改(或切换到不同的条目小部件)时创建一个新的键盘来解决它:
self.frame1.destroy()
self.frame2.destroy()
self.kb.destroy()
self.frame1 = ttk.Frame(self, width=480, height=280)
self.frame1.pack(side="top", pady=30)
self.kb = vKeyboard(attach=self.entry1,
x=self.entry1.winfo_rootx(),
y=self.entry1.winfo_rooty() + self.entry1.winfo_reqheight(),
keysize=self.keysize,
parent=self.frame1,
controller=self.controller,
enterAction=self.enterAction)
我还是 Python/Tkinter 的新手,所以其他人可能能够在不破坏父框架的情况下做到这一点,但这对我有用(甚至在 Raspberry Pi 的有限资源上,它也没有造成任何问题) .