tablewidget中数据改变程序为什么会卡死?

我想实现的功能是lineedit中文本与tablewideget中文本进行比对,而且在表格中数据改变后要再进行一次比对。
编写上面没有显示错误,运行后改变tablewidget中数据后程序就会卡死,求大牛!!!是我槽函数用错了吗?

void MainWindow::on_tableWidget_itemChanged(QTableWidgetItem *item)
{
QString str1 = ui->lineEdit->text();
QString tabeDate[ui->tableWidget->rowCount()][ui->tableWidget->columnCount()];//将表格中数据存入数组
int i,j=0;
for(i=0; itableWidget->rowCount(); i++)
{
for(j=0; jtableWidget->columnCount(); j++)
{
if(ui->tableWidget->item(i,j)!=NULL)//注意检查非空,否则会报错
{
tabeDate[i][j] = ui->tableWidget->item(i,j)->text();
}
}
}//遍历数组

for(i = 0; i < ui->tableWidget->rowCount(); i++)
{
    while (tabeDate[i][0] != "")
    {
    if(tabeDate[i][0] == str1)
        ui->tableWidget->setItem(i,1,new QTableWidgetItem("OK"));
    else
        ui->tableWidget->setItem(i,1,new QTableWidgetItem("NG"));
    }
    break;

}

}

qt
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Qt界面刷新大量数据时,界面卡死的解决方法以及QTableWidget和QTableView加载速度的比较
最近用Qt搞一个项目,里面有个功能是要加载XML日志文件的内容(大概1万行左右)然后在界面QTableWidget类型的表格里面显示由于日志文件的行数比较多,所以刷新到界面上时导致了界面卡死,刷新期间界面无法响应用户操作。而领导给我的要求是:第一:加载的时候界面不能卡死,界面要能够响应用户的操作。第二,在保证第一条的情况下,要尽可能快地加载并显示完日志的内容。第三,由于该项目是客户端,所以加载和显...
在QTableWidget中显示大数据量
在访问数据库后,在本地得到包含了数据的集合,然后获取数据总量;之后tableWidget的滑动条的滑动长度可以定义成 tableWidget的每行row的宽度 * 数据总量;再运动滑动条以定位到应显示的部分的第一个的行在tableWidget中的索引;以此索引可以定位到内存中的数据集对应的当前应被提取的第一个数据的索引;由于tableWidget的height是知道的,那么该显示的个数应也是可知的,即数据集该提取的长度也是可知的;只取这部分数据显示到tableWidget中。
QTabWidget bug导致程序崩溃
<br />QTabWidget 使用的时候如果读取的数据不存在     或者读取的数据项在setitem的时候没有写入数据,则程序会崩溃<br />比如:<br />//ui->tableWidget->setItem(row,0,new QTableWidgetItem(tr("***")+ui->comboBox_6->currentText().trimmed()+tr("***")+ui->tableWidget->item(currentrow,0)->text())); ui
QTableWidget使用注意要点总结
关于tablewidget一些总结,常用的使用方法网上一大堆,都可以搜到,比如: /*---表头设置 begin---*/ //初始化表头内容 ui->tableWidget->setHorizontalHeaderLabels(m_lstHeaderData); //设置表头不可见 ui->tableWidget->verticalHeader()->setV
关于QTableWidget插入数据库数据很慢的原因
一开我以为QTableWidget是因为数据量过大的原因导致的.因为有1000多条数据,还有6列.就1000*6,后来我测试发现时间都耽误在了insertRow()上,我恍然大悟,6000多条数据对于CPU来说也是小菜一碟啊.我估计是插入行的时候需要建表导致变慢,我索性把数据库中数据条数读出来,然后采取一次性插入,速度上确实提高了不少.以前在ARM板卡上运行要1-2分钟,现在只要几秒钟就OK了.此
关于QTableWidget的item所占内存的释放问题
与之前的文章背景类似,还是关于QTableWidget中的数量众多的item所占内存比较多,用完要释放的问题。 现在有两个问题: 1 是什么时候释放? 2 如何释放 我们先看第一个问题,因为我现在的程序里面是定期刷新table,每次加载大量的数据,所以如果不清除之前的内存,就会使内存一直申请得不到释放最终导致内存泄露。当次显示完就释放显然不合适,因为item被delete掉后表中的内容就也
Qt之TableWidget、信号、槽
一、TableWidget组件 用法案例:----在表格上,选取一行后,可将该行的信息读取并显示到 LineEdit等组件上,便于后续的 修改操作 步骤: 1、在表格上 点击右键----Go to Slot----选Clicked 2、会自动产生 单击触发的函数: void TableWidget01Widget::on_tableWidget_clicked(QModelIndex index
ExcelEngine
将tablewidget表中内容导入excel中,将excel数据导入到tablewidget中,和修改制定单元内容
QT TableWidget的使用1:简单使用
其实就是几行. 创建行,从第一行开始创建   ui->tableWidget->insertRow(i); //i代表行数,从0开始 ui->tableWidget->setItem(i,j,new QTableWidgetItem(QString::number(D[i].x))); 第I行第J列,最后传的数值只能为QString 一个实例,从ex
pyqt5 tablewidget 利用线程动态刷新数据
表格刷新数据的方法大概知道要用线程,所以就先尝试写了一个线程,然后每次都获取数据,然后直接通过这种方法来朝table里面更新数据。但是要点击鼠标才会出现更新的数据。
Qt连接QSqlite数据库,使用QTableWidget显示数据总结
Qt连接数据库: void ConnectDb::onConnectDb() { QMessageBox msgBox; dbconn=QSqlDatabase::addDatabase("QSQLITE");   dbconn.setDatabaseName("E:\\MyJob\\ConnectDb\\testDatabase.db");  if(!dbconn.open())
QTableWidget清空或删除内容及表头样式内容
今天使用到了QTableWidget的清空和删除,特地整理出。如下: 目录 1、清空表格中所有内容  2、清空表格中的内容(不包含表头) 3、删除表格中的某行中的某列内容 4、删除表格中的某列内容 5、删除表格中的某行内容 6、删除表格中的某行和某列 7、删除表格中的水平标题头 8、删除表格中的垂直标题头 9、设置该单元格为屏蔽状态,不能编辑和选中 10、取消表头的在选中单元...
qt Qtablewidget某些单元格的控件不显示
for(int i = 0; i tableWidget->setCellWidget()
QT中QTableWidget清空或删除内容功能
今天使用到了QT中QTableWidget的清空和删除功能,特地整理出。 参考https://blog.csdn.net/qq_16093323/article/details/79226349 如下: 1、void QTableWidget::clear() [slot]   Removes all items in the view. This will also remove all...
Qt:关于tableWidget的几个问题(遇到再更新)
1. 表格中插入combobox以及文本居中的问题 网上查了好多资料都说很麻烦难实现,干脆自己写,其实也就那么几行! void add_combobox(QTableWidget *table, int row, int column, QStringList textList, int currentIndex) { QComboBox *combox = new QComboBox()...
遍历QTableWidget中的数据
关于QTableWidget中数据的遍历,原本以为是很简单的事情,写完了之后运行却一直报错,最后折腾半天才发现原来是没有判断非空。写下来供其他同学参考,避免同样的错误。 QTableWidget *tableWidget=new QTableWidget(5,2); //5行2列 //添加数据 tableWidget->setItem(0,0,new QTableWidg
Qt 将TableWidget表格数据保存到Excle详细介绍
结果图:       需要的头文件  需要根据小伙伴的数据进行变更,下面是tableWidget控件表格的数据保存到Excle       附上代码: ui-&amp;gt;progressBar-&amp;gt;show(); //进度条需要在ui文件中加个progressBar控件 ui-&amp;gt;progressBar-&amp;gt;setValue(0); //...
Qt 读写Excel,并显示到tablewidget
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
Qt中tableWidget的样式总结
QTableWidget详解(样式、右键菜单、表头塌陷、多选等)   (2013-05-15 09:24:53) 转载▼ 标签:  qtablewidget详解   样式   右键菜单   表头塌陷   表头事件 分类: Qt   在Qt的开发过程中,时常会用到表单(QTableWidget)
关于QTableWidget里的滚动条问题
<br /><br />找了下,发现在QAbstractScrollArea里面有<br />void setHorizontalScrollBar ( QScrollBar * scrollBar )<br />void setHorizontalScrollBarPolicy ( Qt::ScrollBarPolicy )<br />void setVerticalScrollBar ( QScrollBar * scrollBar )<br />void setVerticalScrollBarPol
tablewidget的属性及用法
1. 将表格变为禁止编辑 在默认情况下,表格里的字符是可以更改的,比如 双击一个单元格,就可以修改原来的内容,如果想禁止用户的这种操作,让这个表格对用户只读,可以这样: ? 1 tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
Qt tablewidget 获取表格一行内容并显示在下一行
  在构造函数使用前两句设置每次点击一个item能够选中一整行以及编辑item功能 pushButton槽里面获取当前点击的item行列数 然后通过循环使用text().toStdString()获取item的内容并显示到指定的item上 ui-&amp;gt;tableWidget-&amp;gt;setItem(now_row+1,now_column,e); //设置选择行为时每次选择一行 ...
Qt 读写文件,并显示到tablewidget
//将表格数据写入文件 void DiagramTableItem::saveTable() {     QString fileName = QFileDialog::getSaveFileName(0,tr("保存文件"),                                                 tr("/root/Projects/product"),
Qt TableWidgetItem在item中放入QWidget(控件)的内存问题。
void MainWindow::slot_btn1_clicked() { ui-&amp;gt;tableWidget-&amp;gt;insertRow(0); //第一个item QDateTime currentTime = QDateTime::currentDateTime(); QTableWidgetItem *item0 = new QTabl...
qt 中如何向QTableWidget里大量添加数据?
实验说明:通过一个按钮,选择一张图片,将图片添加到表格里,并且添加1000条该数据
PyQt5笔记之表格(Table Widget)
1.在Qt Designer中设计一个简单窗口,加入Table Widget模块2.生成.py文件3.在.py文件中你可以找到以下代码 self.tableWidget.setObjectName(&quot;tableWidget&quot;) self.tableWidget.setColumnCount(0)#控制表格有几列 self.tableWidget.set...
qt tablewidget的显示问题
遇到一个奇葩问题,就是明明人家写的程序,
QT QTablewidget联合mysql数据库的使用
QT QTablewidget联合mysql数据库的使用,实现了列表框与数据库的联合
Pyqt5--解析json并将内容显示在tableWidget
在开始写本博客的案例之前,梳理下功能点和知识点,方便查找和理解。 功能介绍: 1.生成json数据; 2.解析json数据并将内容显示在tableWidget中; 3.获取lineEdit中输入的内容,并将其显示在tableWidget中。 知识点梳理: 1.json json是一种易于阅读和编写的数据交换格式。 json.dumps()函数是将字典转化为字符串------json...
关于QTableWidget动态写入
关于Qt tableWidget动态写入 向tableWidget插入行 设置该行内容 代码如下ui->setupUi(this); this->setWindowTitle("Ruku"); ui->tableWidget->clear(); ui->tableWidget->setColumnCount(3);//只设置列数,行数动态中增加 ui->tableWidget->setHorizon
tablewidget筛选
完整的工程文件,开发环境window+qt4,利用tablewidget控件实现数据记录筛选、筛选后上下行选择显示正常。
【Qt开发】QTableWidget的详细设置
在使用Qt不多的日子里,已经两次用到了QTableWidget这个控件,也慢慢的习惯和喜欢上了它。再使用QTableWidget的时候,已不像刚开始使用时的迷茫。嗯嗯。现在就来总结总结我与QTableWidget相识的历程......(*^__^*) 嘻嘻…… 使用时也查过不少资料,在此感谢前辈们的用心总结与分享!    1.QTableWidget不能在mainwindow中随
QT tableWidget 内容居中显示
ui-&amp;gt;tableWidget-&amp;gt;item(i,11)-&amp;gt;setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
Qt tableWidget item 元素居中的代码设置
先找到对应位置的元素,设置setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);icon的好像没找到 for (int i=0;i<3;i++) { for (int j=0;j<3;j++) { ui->tableWidget_2->setItem(i,j,new QTableW
QtableWidget单元格设置和操作
ui->tableWidget->setItem(i,1,new QTableWidgetItem(StringTable[i]));//设置单元格内容 ui->tableWidget->item(i, 0)->setTextAlignment(Qt::AlignCenter);//设置居中 ui->tableWidget->item(i, 1)->setTextAlignment(Qt::A
[Qt]QTableWidget编辑cell更新界面,总跳转到第一页的问题
如题, 在编辑完某个cell之后,更新界面,总默认跳转到界面最顶端,这个很烦人,有时候你加了很多行东西,每次跳转都顶端,还得拉下来,在进行下一次编辑。 跟了一下代码,发现是因为,我更新界面的时候,使用了clear()这个函数, m_pTableWidget->clear(); //清除表中内容,包括标题头 我是每次更新,先clear(),然后又根据数据重刷的界面,而clear()会触发Qt
QTableWidget用法详解(修改整理版本)
QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并
为什么会卡死呢
public Form1()rn rn this.Paint += new PaintEventHandler(f1_Paint);rn rn rn private void f1_Paint(object sender, PaintEventArgs e)rn rn Graphics g = e.Graphics;rn Random r = new Random();rn int m;rn rn while (true)rn rn m = r.Next(4);rn switch (m.ToString("")) rn rn case "3": g.DrawLine(new Pen(Color.CornflowerBlue, 8), 30, 200, 35, 200); break;rn case "2": g.DrawLine(new Pen(Color.CornflowerBlue, 8), 60, 200, 65, 200); break;rn case "1": g.DrawLine(new Pen(Color.CornflowerBlue, 8), 90, 200, 95, 200); break;rn case "0": g.DrawLine(new Pen(Color.CornflowerBlue, 8), 120, 200, 125, 200); break;rn default: g.DrawLine(new Pen(Color.CornflowerBlue, 8), 120, 200, 125, 200); break;rn // default: break;rn rn System.Threading.Thread.Sleep(1000);rn rnrnrn为什么运行起来会卡死................不是sleep了吗rnrnrn
Qtablewidget 无法获取单元格的值
#include "dialog.h" #include "ui_dialog.h" #include Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); Qt::WindowFlags flags=Qt::Dialog;
QT编写的TableWidget分页效果
QT TableWidget 分页效果 源代码 需要就拿走……
文章热词 数据线性分类 聚类算法pca数据实例 图像修复数据项目 实战数据时间属性 实战数据文本特征
相关热词 c++65535为什么会转成-1 c++ 数据会丢失 数据库 android为什么会出现俩图标 为什么学python 狗熊会python培训班