Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使GtkTextView看起来像GtkEntry?_Gtk_Pygtk_Glade_Gtktextview_Gtkentry - Fatal编程技术网

如何使GtkTextView看起来像GtkEntry?

如何使GtkTextView看起来像GtkEntry?,gtk,pygtk,glade,gtktextview,gtkentry,Gtk,Pygtk,Glade,Gtktextview,Gtkentry,或者如何向GtkTextView添加可见的薄边框?有可能吗 提前感谢您。使用Glade编辑器: 在glade编辑器中选择您的滚动窗口您已将TextView打包到滚动窗口中,是吗?:,如果没有-选择您的文本视图。 选择小部件属性->公共选项卡。 根据您的喜好查找并调整“边框宽度”属性。 从代码: 调用容器小部件的set_border_widthwidth方法ScrolledWindow或TextView 请注意,在任何情况下,TextArea都不会完全像Entry,它取决于所使用的gtk+主题。使

或者如何向GtkTextView添加可见的薄边框?有可能吗

提前感谢您。

使用Glade编辑器:

在glade编辑器中选择您的滚动窗口您已将TextView打包到滚动窗口中,是吗?:,如果没有-选择您的文本视图。 选择小部件属性->公共选项卡。 根据您的喜好查找并调整“边框宽度”属性。 从代码:

调用容器小部件的set_border_widthwidth方法ScrolledWindow或TextView

请注意,在任何情况下,TextArea都不会完全像Entry,它取决于所使用的gtk+主题。

使用gtk.Scrolled Window.set_shadow\u typetype=gtk.shadow\u蚀刻将改善外观,但与gtk.Entry的样式不匹配

如果将边框窗口或文本视图放置在窗口或窗格中,则边框不是问题,但如果目标是创建具有多行输入字段的表单,则边框将变得难看。这里有一个黑客可以做到这一点

进口gtk 创建一个只用于外观的条目小部件 e=gtk入口 e、 设置尺寸宽度=250,高度=150 创建texview和伴随标签 lbl=gtk.标签TR=注释: lbl.set_alignmentxalign=1,yalign=0 field=gtk.TextViewbuffer=None 字段。设置_wrap_modewrap_mode=gtk.wrap_WORD或gtk.wrap_CHAR 我们需要一个滚动窗口 sw=gtk。ScrolledWindowHadAdjustment=None,vadjustment=None sw.设置边界宽度边界宽度=4 sw.set_size_requestwidth=250,height=150 sw.set_policyhscrollbar_policy=gtk.policy_NEVER,vscrollbar_policy=gtk.policy_AUTOMATIC sw.addfield 根据需要在此处为表单创建更多小部件。。。 lbl2=gtk.Labelstr=电子邮件: lbl2.set_alignmentxalign=1,yalign=0 字段2=gtk.条目 将所有内容放入表中,以便字段和标签都对齐 tbl=gtk.Tablerows=1,columns=2,均质=False tbl.ATTACHBL,左附加=0,右附加=1,上附加=0,下附加=1,xoptions=gtk.FILL | gtk.SHRINK,yoptions=gtk.FILL,xpadding=0,YPADING=0 sw和e必须按此顺序连接,反之不起作用 tbl.attachsw,left_attach=1,right_attach=2,top_attach=0,bottom_attach=1,xoptions=gtk.FILL | gtk.SHRINK,yooptions=gtk.FILL,xpadding=0,ypadding=0 tbl.attache,左附加=1,右附加=2,上附加=0,下附加=1,xoptions=gtk.FILL | gtk.SHRINK,yooptions=gtk.FILL,xpadding=0,ypadding=0 注释掉前一行以查看差异 在此处附加其他小部件。。。 tbl.attachlbl2,左附着=0,右附着=1,上附着=1,下附着=2,xoptions=gtk.FILL | gtk.SHRINK,yoptions=gtk.FILL,xpadding=0,ypadding=0 tbl.attachfield2,左附加=1,右附加=2,上附加=1,下附加=2,xoptions=gtk.FILL | gtk.SHRINK,yoptions=gtk.FILL,xpadding=0,YPADING=0 展示它! window=gtk.window window.set\u默认值\u大小350200 window.connectdestroy,lambda w:gtk.main\u退出 window.addtbl 窗口。全部显示 gtk.main
警告是滚动条变得不可见;它可以被选择,并且像往常一样滚动。如果要在字段中输入的数据倾向于不使用滚动,则这可能是一个小问题。

几年后。。。但搜索网络仍然不能很好地回答这个问题

解决方案非常简单:只需创建一个GtkFrame并添加包含GtkTextView的GtkScrolledWindow,下面是一些python示例代码:

frame = Gtk.Frame()
scroll = Gtk.ScrolledWindow()
scroll.set_hexpand( True )
scroll.set_border_width( 3 )
textview = Gtk.TextView()
scroll.add( textview )
frame.add( scroll )

大约9年半后

我将给出一个与语言无关的答案


首先,添加一个GtkScrolledWindow,它将启用滚动。现在添加您的GtkTextView。然后将“阴影类型”设置为“无”以外的其他值。它会在你的GtkTextView周围显示一个边框。

你为什么要这样混淆你的用户?@ptomato我需要同样的东西。这不是为了迷惑用户,而是为了不迷惑用户。我想要一个3行文本小部件,其行为与条目小部件完全相同,但有3行。我唯一能找到的方法就是修改一个TextView小部件…@ptomato用户如果没有这个会感到困惑,即使我感到困惑;GtkScrolledWindow就足够了。有趣的解决方法。依我看,如果GTK开发人员只是增加对它的支持,那会更简单,但作为一种解决方法,它是可以的;我正在考虑使用gtk框架。很高兴知道也可以使用滚动窗口。