标题指的是这个问题,我需要使用方法项获取Tkinter TreeView的关键字值下的值,如下所示:,v是我在树视图上的选择。该方法返回一个整数,如果该值之前有零,则它会忽略它们。tree.item(v)[\'values\'][0]
这是我的意思的一个例子:我需要完全按照原样用黄色标记的值 (001) 而不是 (1)。\n打印此“tree.item(v)[\'values\'][0]”将说值是1,但树形视图显示真实值001。我怎样才能获得真实值(001)?谢谢。
\n\n这是代码:
\nfrom tkinter import *\nfrom tkinter import ttk\n\nwindow = Tk()\nwindow.title(\'Treeview\')\nwindow.configure(background=\'Yellow Green\')\n\nttk.Label(window, text=\'There must be colors at some rows:\', \n font=(\'DejaVu Sans\', 11, \'bold\'), background= \'yellow green\').grid(row=0, column=0)\ntree = ttk.Treeview(window, columns=(\'name\', \'surname\', \'telephone\'))\ntree.grid(row=1, column=0)\ntree.heading(\'#0\', text=\'\xce\x91/\xce\x91\')\ntree.heading(\'name\', text=\'Name\')\ntree.heading(\'surname\', text=\'Surname\')\ntree.heading(\'telephone\', text=\'Telephone\')\ntree.insert(\'\', 0, text=\'0001\', values=("001",2230310,"Hello"))\nc = tree.get_children()\nprint(tree.get_children())\nfor v in c:\n print(tree.item(v))\n print(tree.item(v)[\'text\'])\n print(tree.item(v)[\'values\'][0], type(tree.item(v)[\'values\'][0]))\napplication = (window)\nwindow.mainloop()\nRun Code Online (Sandbox Code Playgroud)\n\n 我在 JavaFX 中的 TreeView 上遇到了一个奇怪的问题。
我使用它的应用程序根据基于 Web 的数据构建分支,因此需要一些时间来填充 TreeView。但随着它的填充,分支显示在顶部和底部,但底部只是文本,而不是实际的 TreeItems。
如果有人想亲自尝试的话,我创建了最少的可重复生成的代码。我将最少的代码发布到 GitHub,您可以从这里克隆它。
此屏幕截图也将显示该问题。
以下是重现该问题的类:
主要的:
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
private TreeItem<TreeNode> root;
private Random random = new Random(System.currentTimeMillis());
@Override
public void start(Stage stage) throws Exception {
root = new TreeItem<>(new TreeNode("Root", false));
TreeView<TreeNode> treeView = new TreeView<>(root);
treeView.setCellFactory(param -> new CellFactory());
treeView.setShowRoot(false);
ScrollPane scrollPane = new ScrollPane(treeView);
double width = 500;
double height …Run Code Online (Sandbox Code Playgroud) 我有一个包含所有节点的SiteMap.我正在使用一个TreeView控件,该控件链接到SiteMap进行导航.现在我想隐藏某些节点出现在TreeView上.是否有可能做到这一点?
我正在使用delphi xe
我想在运行时更改树视图节点的文本,该节点已在屏幕截图中圈出.

我正在使用下面的代码来更改它
TreeView1.Items[2].Item[6].Text:='Some Text';
Run Code Online (Sandbox Code Playgroud)
但是得到下面的错误
列表索引超出范围(6)
但是,如果我更改第一项的任何子项的文本,例如相同的代码
TreeView1.Items[0].Item[1].Text:='Some Text';
Run Code Online (Sandbox Code Playgroud)
我在.fxml文件中创建TreeView,然后我尝试显示根节点.但它没有显示出来.
这是我的代码.
<TabPane prefHeight="289.0" prefWidth="246.0" styleClass="tab-pane" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<stylesheets>
<URL value="@main.css" />
</stylesheets>
<tabs>
<Tab text="TestBed Explorer">
<content>
<AnchorPane id="Content" fx:id="soariteAnchorScollparent" minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<ScrollPane fx:id="soariteTreeScrollPane" prefHeight="259.0" prefWidth="246.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<content>
<AnchorPane id="Content" fx:id="soariteTreeAnchorPane" minHeight="0.0" minWidth="0.0" prefHeight="249.0" prefWidth="73.0">
<children>
<TreeView fx:id="soariteTree" prefHeight="245.0" prefWidth="79.0" showRoot="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="167.0" AnchorPane.topAnchor="0.0">
<TreeItem expanded="true" value="categories" fx:id="rootTreeItem" />
</TreeView>
</children>
</AnchorPane>
</content>
</ScrollPane>
</children>
</AnchorPane>
</content>
</Tab>
</tabs>
</TabPane>
Run Code Online (Sandbox Code Playgroud)
我也在主要类中给出了这个参考.
public class Mainextends Application {
@FXML
public TreeView<String> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用tkinter制作GUI.我怎样才能有3个树视图 - 两个在顶部并排,第三个在底部的两个树视图下方的底部.我设法得到了2个并排.我提供了前两个的左边值,但当我使用底部的第三个时,它出现在前两个树视图的中间.
container = ttk.Frame()
container.pack(fill='both', expand=True, side=side)
self.tree = ttk.Treeview()
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
在扩展应用程序窗口时,如何使树视图小部件粘贴到Noth(到工具栏).
它坚持西南和东部,但不是北部.
使用:
self.tree.grid(row=1,column=0,sticky=N+W+E+S)
Run Code Online (Sandbox Code Playgroud)
我这是tree.grid对齐配置
...
self.vsb = ttk.Scrollbar(master, orient=VERTICAL, command=self.tree.yview)
self.hsb = ttk.Scrollbar(master, orient=HORIZONTAL, command=self.tree.xview)
self.vsb.grid(row=1, column=1, sticky='ns')
self.hsb.grid(row=2, column=0, sticky='ew')
self.tree.configure(yscrollcommand=self.vsb.set)
self.tree.configure(xscrollcommand=self.hsb.set)
self.tree.grid(row=1,column=0,sticky=N+W+E+S)
...
Run Code Online (Sandbox Code Playgroud)
这是工具栏网格配置(如果它导致问题)
...
self.toolbar = Frame(master, bg="blue")
self.upButton = Button(self.toolbar, text="Up", command=self.doNothing, padx=10, pady=10)
self.upButton.grid(row=0,column=0,sticky=N+W)
self.downButton = Button(self.toolbar, text="Down", command=self.doNothing, padx=10, pady=10)
self.downButton.grid(row=0,column=1, sticky=N+W)
self.insupButton = Button(self.toolbar, text="Insert UP", command=lambda: self.insertUp(self.tree), padx=10, pady=10)
self.insupButton.grid(row=0,column=2, sticky=N+W)
self.insdownButton = Button(self.toolbar, text="Insert Down", command=lambda: self.insertDown(self.tree), padx=10, pady=10)
self.insdownButton.grid(row=0,column=3, sticky=N+W)
self.delbrButton = Button(self.toolbar, text="Delete branch", command=lambda: self.deleteBr(self.tree), …Run Code Online (Sandbox Code Playgroud) 我想在之前添加的TreeViewItem中添加子项.像这样的代码的问题:
或者我尝试使用的许多其他变体,如:
for (int i = 1; i <= dataTreeview.Items.Count; i++)
{
TreeViewItem tempTVI = (TreeViewItem)dataTreeview.Items.GetItemAt(i);
}
Run Code Online (Sandbox Code Playgroud)
是我得到一个InvalidCastException异常,因为项目(在另一个stackoverflow问题中)或tempTVI是字符串而不是TreeViewItem
我不知道为什么会这样,我的想法也用完了.
如果它有助于我在预览中使用Visual Studio 2015社区.
谢谢您的帮助.
我已经构建了一个在winforms中生成树视图的函数.它包括带有递归的子文件夹和文件.现在我想把它翻译成wpf.
我无法弄清楚如何处理这些课程.我知道我必须制作我自己的自定义类'treenode',它具有类似于winforms treenode 的属性' parent '.
但是在wpf中我需要两种不同类型的treenode,所以我可以通过数据类型正确绑定wpf.我在使用系列的wpf中有一个工作示例,我只是不确定如何将我的winform版本转换为wpf.有人可以帮助我让我的winform版本在wpf中运行吗?
然后最终目标是在WPF中使用目录和文件填充我的树视图,如我的winforms示例中所示.但是,WPF版本的样式应该保持文件和文件夹的"图标"显示.
我希望有人可以帮助我正常工作.欢迎任何建议和意见.
ViewModel.cs
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Windows;
using System.Windows.Input;
using System.Linq;
namespace WpfApplication1
{
public class ViewModel : ObservableObject
{
// Properties
private ObservableCollection<DirectoryNode> directoryNodes;
public ObservableCollection<DirectoryNode> DirectoryNodes
{
get { return directoryNodes; }
set
{
directoryNodes = value;
NotifyPropertyChanged("DirectoryNodes");
}
}
private ObservableCollection<string> formats;
public ObservableCollection<string> Formats
{
get { return formats; }
set
{
formats = value;
NotifyPropertyChanged("Formats");
}
}
private ObservableCollection<string> directories;
public ObservableCollection<string> …Run Code Online (Sandbox Code Playgroud) 我有一个树结构的JSON应该被过滤,结果应该保留树结构.
var tree = [
{
text: "Parent 1",
nodes: [
{
text: "Child 1",
type: "Child",
nodes: [
{
text: "Grandchild 1"
type: "Grandchild"
},
{
text: "Grandchild 2"
type: "Grandchild"
}
]
},
{
text: "Child 2",
type: "Child"
}
]
},
{
text: "Parent 2",
type: "Parent"
},
{
text: "Parent 3",
type: "Parent"
}
];
Run Code Online (Sandbox Code Playgroud)
示例:
1)如果搜索查询是父1
预期结果 :
[
{
text: "Parent 1",
nodes: [
{
text: "Child 1",
type: "Child",
nodes: [
{
text: …Run Code Online (Sandbox Code Playgroud) treeview ×10
tkinter ×3
c# ×2
python ×2
wpf ×2
angularjs ×1
asp.net ×1
delphi ×1
delphi-xe ×1
javafx ×1
javafx-2 ×1
javascript ×1
optimization ×1
python-2.7 ×1
python-3.x ×1
sitemap ×1
tree ×1
ttk ×1