草庐IT

QAbstractTableModel

全部标签

qtableView + qabstracttablemodel:通过drag'n'drop移动行

我很简单QAbstractTableModel基于基于模型和一个QTableView为了它。我的目标也很简单:允许通过Drag'n'Drop移动/重新排序行。笔记:d'n'd在内部发生变化QTableView应该反映在我的模型中;d'n'应该是内部的-只能在我的视线内执行运动,没有外部哑光出口;我想拖放所有的排。单独的项目应该不是被拖放或掉落;拖动水平标头对我来说不是一个合适的解决方案任何拖动它;我非常接近我的目标。但是它仍然没有我的期望。现在我可以拖动行,但似乎任何尽管我指定了,但单元可以接受滴Qt::ItemIsDropEnabled仅对于全局表的父级,并且没有为实际表项指定此标志,因为我

c++ - 如何使我的 QAbstractTableModel 与我的数据存储保持同步?

在我的应用程序中,我有一个用于保存项目列表的类:classDatabase:publicQObject{Q_OBJECTpublic:Database(QObject*parent,constQString&name);constEntry&item(intidx)const{Q_ASSERT(idx&idxs);boolupdateItem(intidx,constEntry&updated);voidremoveItem(intidx);voidremoveItems(constQList&idxs);private:QList_items;signals:voiditemsRem

c++ - 我如何调用 dataChanged

下面是我添加的行类。它由代码调用,而不是表调用,我希望它在添加新行时正确调用dataChanged,尽管这不起作用,但表不执行任何操作。我做错了什么?voidMyModel::add(constPerson&p){people.push_back(p);QModelIndextop=createIndex(people.count()-1,0,0);QModelIndexbottom=createIndex(people.count()-1,3,0);emitdataChanged(top,bottom);//emitlayoutChanged()ifheaderschanged}

c++ - Qt删除QTableView中选中的行

我想在单击delete按钮时从表中删除选定的行。但是我在Qt文档中找不到任何关于删除行的信息。有什么想法吗? 最佳答案 您可以为此使用boolQAbstractItemModel::removeRow(introw,constQModelIndex&parent=QModelIndex())功能。在这里你可以找到一个example对于这一切。此外,这是该文档中的内联引述:removeRows()Usedtoremoverowsandtheitemsofdatatheycontainfromalltypesofmodel.Implem

python - 使用 QAbstractTableModel 在 pyqt 中编辑表

我正在尝试在PyQt中创建一个可编辑的表格。这是仅显示表格的代码:importsysfromPyQt4importQtGui,QtCorefromPyQt4.QtCoreimport*fromPyQt4.QtGuiimport*#donnéesàreprésentermy_array=[['00','01','02'],['10','11','12'],['20','21','22']]defmain():app=QApplication(sys.argv)w=MyWindow()w.show()sys.exit(app.exec_())#créationdelavueetducont

python - PyQt - 实现 QAbstractTableModel 以在 QTableView 中显示

我想在PyQt表中显示一个pandas数据框。我在这方面取得了一些进展,但未能正确派生表模型类。对此的任何帮助将不胜感激。**注意完整的示例代码here**我正在努力生成有效的QtCore.QAbstractTableModel派生类。继上一个关于QItemDelegates的问题之后,我正在尝试从PandasDataFrame生成一个表模型以插入真实数据。我有工作示例代码here,但是如果我将Widget类中的TableModel替换为TableModel2(ln152),我将无法显示表格。classTableModel2(QtCore.QAbstractTableModel):de

c++ - 将 QAbstractTableModel 与 Qml TableView 一起使用仅显示第一列

我正在尝试将(派生自)QAbstractTableModel与QmlTableView一起使用;但是,只显示第一列。原因是非零列不调用QVariantMyModel::data(constQModelIndex&index,introle),但我不明白为什么。QTableView可以正常工作。我制作了一个单独的简单项目来重现我的问题:MyModel.h:#ifndefMYMODEL_H#defineMYMODEL_H#include#include#include#include#includestructSimpleData{QStringm_one;qint32m_two;qrea

c++ - QTableView如何设置行高?

我有QTableView和QAbstractTableModel。我要求行的高度等于24。我知道这样做的唯一方法是调用QTableView::setRowHeight。由于模型是动态的,它可能会添加新行,但我不想在每次添加新行时调用setRowHeight。如何配置QTableView使其对新添加的行使用相同的高度,或者可以向模型发送行的高度? 最佳答案 对于Qt版本QHeaderView*verticalHeader=myTableView->verticalHeader();verticalHeader->setResizeMo

c++ - QTableView如何设置行高?

我有QTableView和QAbstractTableModel。我要求行的高度等于24。我知道这样做的唯一方法是调用QTableView::setRowHeight。由于模型是动态的,它可能会添加新行,但我不想在每次添加新行时调用setRowHeight。如何配置QTableView使其对新添加的行使用相同的高度,或者可以向模型发送行的高度? 最佳答案 对于Qt版本QHeaderView*verticalHeader=myTableView->verticalHeader();verticalHeader->setResizeMo
12