Tkinter限制弹出每行的大小

时间:2014-04-03 08:07:24

标签: python popup tkinter size line

美好的一天!

我想弄清楚如何限制下面显示的弹出框。我不是要修剪文本,但是我试图在每行弹出窗口中设置字符数量。 例如:弹出框中每行30个字符

tkMessageBox.showinfo("Results", str(e))

任何建议,无需修改文本本身?

2 个答案:

答案 0 :(得分:1)

另一种选择是将消息框子类化并添加您自己的wraplength选项。这可能不适合您的需求,它不会考虑字符串中的空格:

class WrappedBox(object):
    def __init__(self, title, message, wraplength=60):
        self.title = title
        self.message = message
        self.wraplength = wraplength

        self.messageWrapped = '\n'.join([self.message[i:i+self.wraplength] for i in xrange(0,len(self.message),self.wraplength)])

        tkMessageBox.showinfo(self.title, self.messageWrapped)

WrappedBox("Results", str(e), wraplength=30)

答案 1 :(得分:0)

使用tkMessageBox无能为力。您必须更改文本或创建自己的消息窗口。后者并不是非常困难 - 一个带有滚动条的Toplevel,一个Text小部件,以及几个按钮就是您所需要的。