QTableWidget排序问题
今天写代码,发现Qt4中QTableWidget显示查询结果数据时存在一个问题,具体原因不知道是用法不对还是QTableWidget本身存在的bug。现象如下:
1. 查询,能正常显示查询结果
2. 点击表头排序
3. 再一次进行查询,发现某写列内容为空
构造函数代码:
pTable = new QTableWidget(this);
QVBoxLayout*pLayout = newQVBoxLayout;
this->setLayout(pLayout);
QPushButton*pBtn = new QPushButton("查询",this);
pLayout->addWidget(pBtn);
pLayout->addWidget(pTable);
boolret =connect(pBtn, SIGNAL(clicked ( bool ) ) , this ,SLOT( QuerySlot( ) ) );
pTable->setSortingEnabled (true);
pTable->sortByColumn(0,Qt::AscendingOrder);
QStringListlabels ;
labels<<"供电单位"<<"变电站"<<"电压等级";
pTable->setColumnCount( labels.size() );
pTable->setHorizontalHeaderLabels ( labels );
pTable->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel);
pTable->setSelectionBehavior(QAbstractItemView::SelectRows);
查询函数代码:
pTable->clearContents();
pTable->setRowCount ( 0 );
QTableWidgetItem*pItem1 = NULL;
pTable->setRowCount(50);
for(int i = 0; i < 50; ++ i)
{
for (intj = 0; j< 3;++j)
{
pItem1 = new QTableWidgetItem;
pItem1->setText(QString::number(i)+","+QString::number(j));
pTable->setItem(i,j,pItem1);
}
}
都是执行同一个逻辑,搞不清楚为什么会出现这种情况。
目前找到的解决方法是,在查询函数开头加上
pTable->setSortingEnabled (false);
结尾加上
pTable->setSortingEnabled (true);
pTable->sortByColumn(0,Qt::AscendingOrder);
完整代码如下:
pTable->setSortingEnabled (false);
这样就可以正确显示。
pTable->clearContents();
pTable->setRowCount ( 0 );
QTableWidgetItem*pItem1 = NULL;
pTable->setRowCount(50);
for(int i = 0; i < 50; ++ i)
{
for (intj = 0; j< 3;++j)
{
pItem1 = new QTableWidgetItem;
pItem1->setText(QString::number(i)+","+QString::number(j));
pTable->setItem(i,j,pItem1);
}
}
pTable->setSortingEnabled (true);
pTable->sortByColumn(0,Qt::AscendingOrder);
http://blog.csdn.net/hai200501019/article/details/45746477
QTableWidget排序问题的更多相关文章
- 编程之美—烙饼排序问题(JAVA)
一.问题描述 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:"我以前在餐 馆打工,顾 ...
- QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚.所以,今天就在这里总结一下! 以下为个人模拟Windo ...
- QTableWidget行选中/删除/添加行
1 均分各列 tableWidget->horizontalHeader()->setStretchLastSection(true); //就是这个地方 tableWidget-> ...
- 关于SQL中的排序问题
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...
- distinct order by 排序问题
使用类似“SELECT DISTINCT `col` FROM `tb_name` ORDER BY `time` DESC”这样的sql语句时,会遇到排序问题. 以上面的sql语句分析:order ...
- QTableWidget控件总结<二>
QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC.C#中的DataGrid.说到QTableWidget,就必须讲一下它跟QTabelView的区别了.QTableWidge ...
- QTableWidget控件总结<一>
[1]QTableWidget简介 QTableWidget是QT对话框设计中常用的显示数据表格的控件. 学习QTableWidget就要首先看看QTableView控件(控件也是有"家世& ...
- QTableWidget控件总结
[1]QTableWidget简介 QTableWidget是QT对话框设计中常用的显示数据表格的控件. 学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研 ...
- QTableWidget 使用及美化_QtableWidget_QtableView滚动条宽度及样式
//创建及属性设置m_tableWidget = new QTableWidget(this);m_tableWidget->setRowCount(10);m_tableWidget-&g ...
随机推荐
- SSAS 发布报错处理方法 Login failed for user 'NT Service\MSSQLServerOLAPService' 28000
Create login and grant access: Open up SQL Server Management Studio [login to the database engine]&g ...
- 【ActiveMQ】设置自动重连
<property name="brokerURL" value="tcp://localhost:61616"/> <property na ...
- C# Best Practices - Accessing and Using Classes
References and Using Do: Take care when defining references References must be one way (or circular ...
- C++之类的静态变量
成员变量 通过对象名能够访问public成员变量 每个对象都可以有只属于自己的成员变量 成员变量不能在对象之间共享 类的静态成员 静态成员变量 存储在 全局数据区 #include<std ...
- 在Visual Studio中使用FFTW库
FFTW不用做过多介绍,一般都是在linux下使用,包括放出windows版的作者也自己声明:we don't use Windows ourselves 但是由于要和MIC混合编程,想先在本地使用, ...
- 使用phpQuery实现批量文件处理
能够将置顶文夹下的指定类型文件进行处理 <?php header('Content-Type:text/html;Charset=utf-8'); include './phpQuery/php ...
- sql server单表导入、导出
sql server单表导入.导出(通过CSV文件) 导出:直接打开查询分析器查询要导出表的信息(select * from 表),得到的结果全选,右键另存为 xxx.csv文件 (得到该表的所有 ...
- css基础(二)
一.元素内容的字体属性 1.font-family 字体名称,例如:宋体,新罗马字体等 注意:1.不能使用偏僻的字体,要使用安全字体,如:arial;verdana;times new roman ...
- Eclipse快捷键 10个最有用的快捷键(转载)
现在很多开发人员都在用eclipse.用开发工具,就是为了方便,方便你开发你的软件,方便你管理你的工程,而开发工具提供各种功能大部分会有对应的快捷键,下面就列出了eclipse的快捷键. Ecli ...
- UITabbar的常用属性
// //设置tabbar的背景颜色 // [self.tabBar setBarTintColor:[UIColor redColor]]; // //设置选中时图片和文字的颜色 // [self. ...