出于某种原因,我无法找到让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标签包装在一个对话框中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)