Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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
Gtk树视图问题_Gtk_Gtk#_Gtktreeview - Fatal编程技术网

Gtk树视图问题

Gtk树视图问题,gtk,gtk#,gtktreeview,Gtk,Gtk#,Gtktreeview,我有一个简单的树状视图,像这样一个-充满了200个项目,并连接到滚动条。一切正常,但当我选择一个项目并使用箭头键时,所选项目可能会超出可见区域。是否可以对其进行聚焦或设置滚动条的调整,即 void HandleTreeSelectionChanged (object sender, EventArgs e) { vadjustment.Value=SELECTED-ITEM.DISTANCE-FROM-TOP-OF-TREEVIEW; } 还有一个问题:如何为这个树绘制一个黑色边框;就

我有一个简单的树状视图,像这样一个-充满了200个项目,并连接到滚动条。一切正常,但当我选择一个项目并使用箭头键时,所选项目可能会超出可见区域。是否可以对其进行聚焦或设置滚动条的调整,即

void HandleTreeSelectionChanged (object sender, EventArgs e)
{
    vadjustment.Value=SELECTED-ITEM.DISTANCE-FROM-TOP-OF-TREEVIEW;
}
还有一个问题:如何为这个树绘制一个黑色边框;就在网格内。 提前谢谢。
Matej

要将滚动条添加到树视图或文本视图,只需将其添加到;它能自动处理一切。我敢肯定,它也在大多数主题中创造了一个边界

更新:或者,您也可以通过将滚动条的调整设置为树视图的调整,将树视图的滚动行为绑定到任意滚动条:

滚动条=gtk.VScrollbartreeview.props.vadjustment

哦,这就是PyGTK语法;在Gtk中可能是treeview.vaadjustment。

我同意你似乎在做一些奇怪的事情,你真的应该只需要使用GTKScrolledwindowo。它应该处理键盘导航,就像你在对Johannes回答的评论中描述的那样,这不是你需要手动完成的事情


无论如何,要回答您的问题,您可以使用使树状图滚动到任何给定的单元格。

对不起,我需要将其分开。我需要知道当用户按下箭头键a时,如何跟踪所选项目。我应该向vadjustment.Value添加一些数字,当按下向上箭头键时,我应该从vadjustment.Value中删除一些数字。提前谢谢。谢谢,但我已经将treeview连接到了scrollbar,它工作得很好。当用户更改所选项目时,我只需要更改VAdjustment-问题是我不知道必须添加或删除的值是什么:VAdjustment.value=selected-item.DISTANCE-FROM-TOP-OF-TREEVIEW;或者vadjustment.value+=当用户按下箭头键和vadjustment.value-=当用户按下箭头键时的内容谢谢您的回答,但是ScrollToCell函数对我不起作用,因为我将scrollbar和treeview分开,我刚刚尝试过它。它在表中连接:layout.Puttree,0,0;Table Table=新的Table 1,2,false;表.Attachlayout,0,1,0,1,Gtk.AttachOptions.展开| Gtk.AttachOptions.Fill,Gtk.AttachOptions.展开| Gtk.AttachOptions.Fill,0,0;表.Attachvscrollbar,1,2,0,1,Gtk.AttachOptions.Shrink,Gtk.AttachOptions.Shrink | Gtk.AttachOptions.Fill,0,0;我用tree.Selection.Changed+=handleReelectionChanged捕捉事件行select;