jjzjj

QTableView

全部标签

c++ - 有没有办法保存列的顺序?

我目前有一个TableView附加到派生自QSortFilterProxyModel的类。现在我想知道是否有任何方法可以存储列的顺序,因为用户倾向于来回移动列。当用户更改列的顺序时,是否还会发出任何信号。我搜索this但是当列移动时我找不到任何可能告诉我的东西以及我如何保存tablew列订单。任何建议将不胜感激 最佳答案 您需要使用QTableView::horizo​​ntalHeader获取QHeaderView对象。您可以使用QHeaderView::saveState和QHeaderView::restoreState来保存

c++ - Qt - 如何将 QTableView 的特定列设为不可编辑?

我有一个QTableView,其中有4行和4列,每行委托(delegate)其中的数据。默认情况下,QTableView是可编辑的。现在我想在我的QTableView中将任何特定列设置为不可编辑。我该怎么做?提前致谢。 最佳答案 您可以使用setItemDelegateForColumn()功能。实现一个只读委托(delegate),并将其设置为您需要的列。您还可以使用theflags在您的模型中,并删除特定列的Qt::ItemIsEditable标志。 关于c++-Qt-如何将QTab

c++ - QWidget 更新事件但没有视觉更新

在MintLinux12上使用Qt4.8,我实现了一个包含QTableView的简单窗口来显示模型的内容。模型数据不断更新(日志消息)并且dataChanged()信号定期(即每100毫秒)发出。我看到的问题是桌面上的视觉更新时断断续续的。我在窗口上安装了一个事件过滤器,用于计算updateRequest类型的事件,这应该会触发小部件重绘(也在子小部件上,即tableView)。它们之间的平均时间约为170毫秒,标准偏差约为90毫秒(我猜这是相当大的)。但是,感知到的视觉更新速率每秒只有两到三倍,我想知道为什么。似乎并非所有updateRequest事件都会触发小部件重绘或窗口系统吞噬

Qt|表格代理的实现及使用代码qtableview和qtablewidget均适用

参考:QTableView表格控件代理详解https://blog.csdn.net/u010031316/article/details/120366295运行环境:WIN10,VS2022,QT6.3创建的QtWidgetApplication项目,解决方案目录及main主函数如下图:qrc资源文件中就放了几个从阿里巴巴矢量图库下载的几张图:ui中就部署了一个qtablewidget,如图所示:分模块代码ComboBox委托://ComboBox委托classComboBoxDelegate:publicQItemDelegate{ Q_OBJECTpublic: ComboBoxDele

c++ - 在 Qt 4.4 中为 QTableView 设置 Tab 键顺序

我有一个QTableView,它的数据以QStandardItemModel的形式加载ParameterValueX10.456X20.123....andsoon.现在我必须设置TabOrder属性,以便我只能遍历值而不是参数。即当控件在0.456上时,如果我按“Tab”键,它必须转到0.123而不是X2(默认行为)。此外,列参数已禁用Edt触发器,我只能更改值。我知道QWidget::setTabOrder(QWidget*,QWidget*)但由于我是通过QStandardItemModel设置数据,我如何才能在QTableView中实现所需的Tab键顺序?我正在使用Qt4.4和

c++ - QTableView/QTableWidget 网格样式表 - 网格线宽

我想在Qt中以特定样式显示表格。我想用相同的颜色和相同的宽度绘制所有网格线。问题是,很难设置QHeaderView的样式。一直以来,我得到2px的网格宽度或根本没有网格。我有以下带有一个QTableWIdget的窗口和相关的样式表QWidget{background-color:#333333;color:#fffff8;}QHeaderView::section{background-color:#646464;padding:4px;border:1pxsolid#fffff8;font-size:14pt;}QTableWidget{gridline-color:#fffff8;

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++ - QTableView排序信号?

我使用QTableView+QStandardItemModel来显示一些数据(存储在其他数据结构中的数据),这个TableView是可排序的。既然是可排序的,那么在对这个模型进行排序的时候,我还需要对存储数据的顺序进行排序。我尝试为排序信号实现一个​​插槽,但我不知道单击标题以开始排序操作时会发出什么信号。我尝试了点击信号,但它只针对数据行发出,而不是针对headerData。如果我想在对QtableView+QStandardItemModel进行排序时做其他事情怎么办? 最佳答案 View的Header可以通过获取QHeade

c++ - QTableView 输出另存为 .csv 或 .txt

我为qtgui编写了以下代码,以在QTableView(面向模型)中查看查询输出。现在我想将此输出保存为.csv或.txt文件。有人建议使用QTableWidget(面向项目),但我想坚持使用基于模型的方法。voidMainWindow::on_pushButton_clicked(){db=QSqlDatabase::addDatabase("QOCI");db.setHostName("host");db.setDatabaseName("db");db.setUserName("uid");db.setPassword("pw");db.setPort(port);QString

c++ - 使用 QItemDelegate 在 QTableView 中显示其他数据

我有一个与QSqlTableModel相连的QTableView。在第一列中,只有这种格式的日期:2010-01-02我希望此列以这种格式显示日期(但不更改实际数据):02.01.2010我知道我必须为此专栏创建一个QItemDelegate,但我不知道如何读取现有数据并用不同的东西覆盖它。您知道如何管理它吗? 最佳答案 最简单的解决方案是创建一个QStyledItemDelegate子类并重新实现displayText(...)即classDateFormatDelegate:publicQStyledItemDelegate{p