python – GTK标签包装在一个对话框中

python – GTK标签包装在一个对话框中,第1张

概述我正在尝试创建一个带有标签的不可调整大小的对话框.这个标签有很多文字,所以我想要它包装而不会使对话格宽阔. 出于某种原因,我无法找到让GTK允许这种情况发生的方法.我甚至找不到在对话框上设置最大宽度的方法,这将是很好的. 这是我的意思的一个运行的例子: #!/usr/bin/env python#-*- coding:utf-8 -*-from gi.repository import Gt 我正在尝试创建一个带有标签的不可调整大小的对话框.这个标签有很多文字,所以我想要它包装而不会使对话格宽阔.

出于某种原因,我无法找到让GTK允许这种情况发生的方法.我甚至找不到在对话框上设置最大宽度的方法,这将是很好的.

这是我的意思的一个运行的例子:

#!/usr/bin/env python#-*- Coding:utf-8 -*-from gi.repository import Gtkclass DialogExample(Gtk.Dialog):    def __init__(self,parent):        Gtk.Dialog.__init__(self,"My Dialog",parent,(Gtk.STOCK_CANCEL,Gtk.ResponseType.CANCEL,Gtk.STOCK_OK,Gtk.ResponseType.OK))        self.set_default_size(150,100)        self.set_resizable(False)        label = Gtk.Label("This is a dialog to display additional information,with a bunch of text in it just to make sure it will wrap enough for demonstration purposes")        label.set_line_wrap(True)        Box = self.get_content_area()        Box.add(label)        self.show_all()class DialogWindow(Gtk.Window):    def __init__(self):        Gtk.Window.__init__(self,title="Dialog Example")        self.set_default_size(250,200)        button = Gtk.button("Open dialog")        button.connect("clicked",self.on_button_clicked)        self.add(button)    def on_button_clicked(self,Widget):        dialog = DialogExample(self)        response = dialog.run()        if response == Gtk.ResponseType.OK:            print "The OK button was clicked"        elif response == Gtk.ResponseType.CANCEL:            print "The Cancel button was clicked"        dialog.destroy()win = DialogWindow()win.connect("delete-event",Gtk.main_quit)win.show_all()Gtk.main()
解决方法 我解决了这个问题(除了将换行设置为True),将Gtk.Label放入Gtk.table中,使用FILL和SHRINK标志并为标签设置固定宽度.像这样的东西:
label = Gtk.Label("This is a dialog to display additional information,with a bunch of text in it just to make sure it will wrap enough for demonstration purposes")label.set_line_wrap(True)label.set_size_request(250,-1) # 250 or whatever wIDth you want. -1 to keep height automatictable = Gtk.table(1,1,False)table.attach(label,Gtk.AttachOptions.SHRINK | Gtk.AttachOptions.FILL)

这应该够了吧

总结

以上是内存溢出为你收集整理的python – GTK标签包装在一个对话框中全部内容,希望文章能够帮你解决python – GTK标签包装在一个对话框中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存