如何更改笔记本页面上选项卡的默认宽度?在
import tkinter #widget library ships with Python
import Pmw #allows access to update tkinter widgets
class TextBookGUI:
# class constructor
# populates each note book page
def __init__(self, master):
#place hash tables here
"""
Create 5 pages on using Pmw notebook widget.
Documenation for notebook:
http://pmw.sourceforge.net/doc/NoteBook.html
"""
self.nb = Pmw.NoteBook(master)
Pmw.Color.changecolor(self.nb.component('hull'), background='blue')
self.HomeTab = self.nb.add("Welcome")
self.nb.tab('Welcome').focus_set()
self.StudentTab = self.nb.add("Students")
self.BookTab = self.nb.add("Books")
self.LoanTab = self.nb.add("Loans")
self.HelpTab = self.nb.add("Help")
self.nb.pack(fill = 'both', expand = 1, padx = 10, pady = 10)
self.nb.setnaturalsize()
#format the house style of tabs: yellow bg and blue text
self.nb.component('Welcome-tab').configure(font= ('Helvetica', 7 ,'bold', 'italic'), width= 30,fg= "yellow", bg="blue")
我需要设置默认的标签宽度更宽,以适应标签名称。我无法访问tab width属性。最后一行我尝试使用.configure(width=30)
,这对选项卡没有任何影响!在
令人恼火的是,虽然您已经在小部件中正确地设置了制表符宽度(我可以用
cget('width')
看到它),但是megawidget似乎并不遵守宽度设置。在但是,它确实调整了每个选项卡的大小,以确保它足够宽以正确显示文本。如果没有看到每个选项卡的全文,可能是因为根窗口的大小不够宽,无法显示全宽。尝试添加一个强制大小(例如,
root.geometry('500x200')
),看看这是否有帮助。在我很想给你一个更好的答案,但这是我能做的最好的。祝你好运!在
好吧,我找到了解决办法,虽然很难看。它可以操纵制表符宽度。在
搜索完网络后,有人建议用iterrkeys()迭代页面属性字典。这不起作用,所以我从循环中取出代码,并使用pageAttrs字典中的属性[reqtabwidth]、[reqtabheight]。成功了!代码周围有星星,并被添加到代码中上面。你可以看到文本大小现在是20,它显示在一个不错的大标签。那个这么简单的任务浪费了两个晚上。在
相关问题 更多 >
编程相关推荐