qt的QTabelWidget控件单元格读取错误的解决方法
2017-03-15 12:52
447 查看
问题描述:在qt中打算将QTableWidget控件的单元格数据item(x,y)读取并存储在配置文件中,因此使用语句:
QTableWidget->item(x,y)->text()进行访问。当item(x,y)内容不为空时不会报错;但是,当相应item(x,y)
中内容为空时,程序出错关闭,原因不明。
解决方法:在访问某个单元格之前先判断是否为空再进行读取,代码如下:
if( QTableWidget->item(x,y) != 0)
text = QTableWideget->item(x,y)->text();//此时可以对相应item进行访问
else
//此时代表相应item中内容为空
这样,问题就解决了。
注意:在判断item的内容是否为空时,不能采用:if(!(QTableWidget->item(x,y).isempty()))而要这样:
if( QTableWidget->item(x,y) != 0)。原因在QT帮助文档中说的很清楚:
QTableWidgetItem * QTableWidget::item ( int row, int column ) const
Returns the item for the given row and column if one has been set; otherwise returns 0.
QTableWidget->item(x,y)->text()进行访问。当item(x,y)内容不为空时不会报错;但是,当相应item(x,y)
中内容为空时,程序出错关闭,原因不明。
解决方法:在访问某个单元格之前先判断是否为空再进行读取,代码如下:
if( QTableWidget->item(x,y) != 0)
text = QTableWideget->item(x,y)->text();//此时可以对相应item进行访问
else
//此时代表相应item中内容为空
这样,问题就解决了。
注意:在判断item的内容是否为空时,不能采用:if(!(QTableWidget->item(x,y).isempty()))而要这样:
if( QTableWidget->item(x,y) != 0)。原因在QT帮助文档中说的很清楚:
QTableWidgetItem * QTableWidget::item ( int row, int column ) const
Returns the item for the given row and column if one has been set; otherwise returns 0.
相关文章推荐
- "控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- 【控件包含代码块,因此无法修改控件集合。】错误的解决方法
- 接上一篇,在cs文件中往页面动态添加meta标签时出现“控件包含代码块(即 ),因此无法修改控件集合”错误的解决方法
- QT for linux 的错误 undefined reference to 'FcFreeTypeQueryFace' 的解决方法
- 控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- 类型“GridView”的控件 必须放在具有 runat=server 的窗体标记内 错误的解决方法
- AjaxControlToolkit工具控件之Accordion错误解决方法
- 解决类型“GridView”的控件 必须放在具有 runat=server 的窗体标记内 错误的解决方法
- QT for linux 的错误 undefined reference to 'FcFreeTypeQueryFace' 的解决方法
- 删除子窗体中的控件中的某些属性时出现"Selection contains a component introduced in an ancestor form which cannot be deleted."错误的解决方法
- ScriptManager作用及基本控件错误的解决方法
- “从不是创建XX控件的线程访问它”错误的解决方法!
- Asp.Net控件加载错误的解决方法
- Asp.Net控件加载错误的解决方法
- /"控件必须放在具有 runat=server 的窗体标记内/"错误的解决方法
- ASP.NET AJAX Tookit TabContainer 控件使用常见错误及解决方法
- 控件必须放在具有 runat=server 的窗体标记内错误的解决方法
- Asp.Net控件加载错误的解决方法
- QT for linux 的错误 undefined reference to 'FcFreeTypeQueryFace' 的解决方法
- "控件必须放在具有 runat=server 的窗体标记内"错误的解决方法