标签: qtreewidget

暂时禁止PyQt事件?

我正在填充QTreeWidget的一个分支,然后将分支的父节点上的展开属性设置为true.itemExpanded信号响应时触发,这不是我想要的.在一段代码中是否存在抑制或吸收信号的临时方法?

python pyqt qtreewidget

3
推荐指数
1
解决办法
2883
查看次数

动态生成的QTreeWidget中与父相关的QTreeWidgetItem复选框

我正在编写一个具有QTreeWidget的应用程序,该QTreeWidget通过解析包含树级别的XML文件来填充.如果我选择顶级复选框,我还需要检查所有子级复选框.

我已经使用XML解析器工作并使用带有复选框的QTreeWidgetItems填充QTreeWidget,但它们只能单独检查.

c++ checkbox qt4 qtreewidget c++11

3
推荐指数
1
解决办法
4915
查看次数

Qt模型/视图与标准小部件

我目前正在阅读Qt的模型/视图教程,但我仍然不确定是否应该为我的Qt程序使用模型/视图或小部件:

我需要做一个记录器应用程序,它将监视模拟环境中的所有信息.基本情景可能是:

  1. 用户1虚拟实体B说了些什么 (记录器应用程序获取用户1所说的内容并在表视图或列表视图中显示)
  2. 虚拟实体B回复用户1的内容(记录器应用程序获取用户1所说的内容并将其添加到表视图或列表视图中)

等等

此记录器应用程序的需求是实时获取此信息,并且收集的数据将不可编辑.从本质上讲,这只是为了显示日志.

那么,使用模态/视图或小部件是否值得我想做什么?

谢谢

qt qtreewidget qtableview qtablewidget qtreeview

3
推荐指数
1
解决办法
6890
查看次数

我的QTreeWidgetIcons在哪里?

我有一个QTreeWidgetQTreeWidgetItem项目,但只有根节点显示其图标:

在此输入图像描述

我一直在摸不着什么可以把它关掉,任何提示?

  ui->folderTree1->setUpdatesEnabled( false );

  QTreeWidgetItem* treeRoot1 = new QTreeWidgetItem(ui->folderTree1);
  treeRoot1->setIcon(0, QIcon(":/icons/black.png"));
  treeRoot1->setText(0, tr("Root"));
  treeRoot1->setExpanded(true);
  addFoldersToTreeView(treeRoot1, ui->filePath1->text(), ui->filePath2->text());

  ui->folderTree1->setUpdatesEnabled( true );
}

void MainWindow::addFoldersToTreeView(QTreeWidgetItem* currentWidget, QString leftPath, QString rightPath)
{
  qDebug() << "MainWindow::addFoldersToTreeView" << leftPath;
  QDir dir(leftPath);
  QDir dir2(rightPath);
  /* Add the folders */
  foreach (QString subDir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))
  {
    QString sImageName = ":/icons/black.png";
    QTreeWidgetItem* newItem = new QTreeWidgetItem(currentWidget);
    qDebug() << "MainWindow::addFoldersToTreeView.sImageName" << sImageName;
    newItem->setIcon(0, QIcon(sImageName));
    newItem->setText(0, subDir);
    newItem->setExpanded(true);
    newItem->setData(0, 1, QVariant(leftPath + QDir::separator() + …
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qtreewidget qt5

3
推荐指数
1
解决办法
535
查看次数

QTreeView与setIndexWidget

我正在使用QStandardItemModel和QStandardItem.

我不想写自己的模型和任何代表.

我只想在第二栏中找到QComboBox'的复选框树...

m_model->setColumnCount(2);
for (int i = 0; i < sectionCount; i++)
{
    QStandardItem * section = new QStandardItem(tr("Section %1").arg(i+1));
    section->setCheckable(true);
    section->setCheckState(Qt::Checked);

    for (int j = 0; j < itemsCount; j++)
    {
        QStandardItem * item = new QStandardItem(tr("Item %1").arg(j+1));
        item->setCheckable(true);
        item->setCheckState(Qt::Checked);

        QStandardItem * item2 = new QStandardItem("xxx");

        section->appendRow(QList<QStandardItem*>() << item << item2);

        QComboBox * combo = new QComboBox();
        QModelIndex index = m_model->index(j, 1, );

        // HERE i have index = {-1;-1}

        ui->treeView_options->setIndexWidget(index, combo);
    }
    m_model->appendRow(section);
}
Run Code Online (Sandbox Code Playgroud)

是否有可能以这种方式使用setIndexWidget?

更新:

我在第二栏中没有QComboBox …

c++ model-view-controller qt qtreewidget qtreeview

2
推荐指数
1
解决办法
4176
查看次数

QTreeWidgetItem editFinished() 信号?

我有一个QTreeWidget里面有一些物品。但是,由于我的数据结构,我需要QTreeWidget(或QTreeWidgetItem)在有人完成编辑时告诉我。

QTreeWidget我已经有了和 的子类QTreeWidgetItem,如果这样可以更容易解决的话。

c++ qt qt4 qtreewidget qtreewidgetitem

2
推荐指数
1
解决办法
5243
查看次数

QTreeWidgetItem::insertChild 不起作用

我有一个QTreeWidget,我想在某个索引处插入一个孩子。我试过

void QTreeWidgetItem::insertChild ( int index, QTreeWidgetItem * child )
Run Code Online (Sandbox Code Playgroud)

但是我放置的任何索引,它都会在父级拥有的所有子级的末尾插入子级。

qt qtreewidget

2
推荐指数
1
解决办法
440
查看次数

获取相对于 QTreeWidget 上的项目的放置位置

我有一个自定义的 QTreeWidget 类,其dropEvent()方法被重写。方法如下:

void QCustomTreeWidget::dropEvent(QDropEvent * event)
{
    QModelIndex droppedIndex = indexAt(event->pos());

    if (!droppedIndex.isValid())
        return;

    // other logic

    QTreeWidget::dropEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

如何确定该项目是否将插入到其所放置的项目的上方、内部或下方?

qt drag-and-drop qtreewidget qtreewidgetitem

2
推荐指数
1
解决办法
2333
查看次数

PyQt:如何展开 QTreeWidget 中的所有子级

没有真正的问题,我只是有一个外观问题。好吧,首先我使用 Qt Designer 创建一个表单。在此表格上我放置了一个QTreeWidget. 我们仍然在 Qt Designer 中。在 中QTreeWidget,我创建了一些条目(父母),然后我还添加了一些子条目。完成后,我保存 ui 文件,然后加载该文件 -loadUi()动态使用。在本例中我使用 PyQt4。到目前为止没有问题。

当我加载放置的表单时,QTreeWidget 我希望程序展开所有子条目。默认情况下,当我运行该程序时,我只看到父条目。当我想查看子条目时,我必须单击父条目,但我不希望这样做。

有办法解决这个问题吗?

python qt4 qtreewidget pyqt4

2
推荐指数
1
解决办法
4804
查看次数

TypeError: QTreeWidget.setModel() is a private method 的解决方案是什么

我对 Pyqt5 非常陌生,正在尝试构建一个 GUI。我做了一个QtreeWidgetQdockwidget
当我尝试使用 进行设置时QFileSystemModelQtreewidgetpython 出现错误:

类型错误:QTreeWidget.setModel() 是私有方法

下面是我的 .py 文件:

import os
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
#from PyQt5.QtWidgets import QApplication, QFileSystemModel, QTreeView, QWidget, QVBoxLayout,QPushButton, QMessageBox,QDialog,QTableWidget,QTabWidget

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):



        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(722, 366)

        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout.setObjectName("gridLayout")
        self.frame = QtWidgets.QFrame(self.centralwidget)
        self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
        self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
        self.frame.setObjectName("frame")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.frame)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.tabWidget = QtWidgets.QTabWidget(self.frame)
        self.tabWidget.setStyleSheet("")
        self.tabWidget.setObjectName("tabWidget")
        self.XSDTree = QtWidgets.QWidget()
        self.XSDTree.setEnabled(True)
        font = QtGui.QFont()
        font.setBold(True)
        font.setWeight(75)
        self.XSDTree.setFont(font) …
Run Code Online (Sandbox Code Playgroud)

python qtreewidget pyqt5

2
推荐指数
1
解决办法
7251
查看次数