Python/Tkinter:使用新的 ttk.Notebook 小部件(自定义字体、捕获选项卡焦点/鼠标悬停)
我正在使用 Python 2.7 和 Python 3.1 中提供的新 ttk.Notebook 小部件。
我正在努力完成以下任务:
如何更改与笔记本选项卡标题关联的字体。我想使用一个命名字体对象,其大小由用户控制。 (ttk.Style 可以帮助我吗?)
如何绑定到选项卡特定键盘焦点 (
)、鼠标悬停事件 ( ) 和右键单击 ( )。我尝试绑定到选项卡特定的键盘焦点和鼠标悬停事件完全失败。我可以绑定到 右键单击,但我不知道如何确定用户单击的选项卡。使用 .identify( event.x, event.y ) 返回字符串“label”与小部件引用。 是否有一种方法可以为选项卡提供一个 id(文档通过 tab_id 对此进行提示),以便我们可以独立于选项卡在选项卡数组中的物理位置来引用选项卡?
谢谢你, 马尔科姆
I'm using the new ttk.Notebook widget available in Python 2.7 and Python 3.1.
I'm struggling with the following tasks:
How to change the font associated with notebook tab captions. I want to use a named font object whose size a user controls. (Could a ttk.Style help me here?)
How can I bind to tab specific keyboard focus (<FocusIn>), mouseover events (<Enter>), and rightclicks (<Button-3>). I have a total fail trying to bind to tab specific keyboard focus and mouseover events. I can bind to a <Button-3> rightclick, but I can't figure out how to determine the tab a user clicked on. Using .identify( event.x, event.y ) returns the string 'label' vs. a widget reference.
Is there a way to give tabs an id (the documentation hints at this via tab_id) so we can reference tabs independent of their physical position in an array of tabs?
Thank you,
Malcolm
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们实际上是在 Tkinter 邮件列表 中回答这些问题;事实上,除了“查看邮件列表”之外,我对在 Stackoverflow 中说任何话都有复杂的感觉。不过,值得注意的是,这个回答了有关字体的问题,此 是一个主题选项卡事件。
We're actually answering these questions in the Tkinter mailing list; in fact, I have mixed feelings about saying anything in Stackoverflow apart from, "See the mailing list". It's surely fair to note, though, that this answers the question about fonts, and this heads a thread on tab events.