我用ui画了一个tablewidget,然后用程序添加行。用的是new tablewidgetitem ,然后setitem(row,col,tablewidgetitem);
设置tablewidget的edittrigger 为doubleclicked。
注:在tablewidget里面添加了combobox.导致的中文
出错错误,但是不知道如何解决。
代码如下:
- for(int i=0;i<5;i++)
- {
- QTableWidgetItem *item1 = new QTableWidgetItem();
- QTableWidgetItem *item2 = new QTableWidgetItem();
- QTableWidgetItem *item3 = new QTableWidgetItem();
-
- item1->setText(QString::number(i+1));
- tablewidget->setItem(i,0,item1);
-
- Qstring s = "ABC"
- item2->setText(s);
- tablewidget->setItem(i,1,item2);
- item3->setText("汉字");
- tablewidget->setItem(i,2,item3);
- QComboBox *comboxProtocol;
- comboxProtocol = new QComboBox(tableWidget);
- comboxProtocol->addItem("UDP");
- comboxProtocol->addItem("TCP");
- comboxProtocol->setCurrentIndex(1);
- tablewidget->setCellWidget(i,3,comboxProtocol);
- }
程序运行后发现:打开中文输入法,然后鼠标点击选中一个格,再敲几个英文字母(此时出现输入法提示栏的汉字,不要按回车和空格),
双击任意一个表格就会崩溃!
报的错误:*.exe 中的 0x65047807 (QtGuid4.dll) 处未处理的异常: 0xC00000FD: Stack overflow
并在qapplication_win.cpp的函数中断:
bool qt_sendSpontaneousEvent(QObject *receiver, QEvent *event)
{
return QCoreApplication::sendSpontaneousEvent(receiver, event);
}
[ 此帖被iamiyouareyo在2010-07-04 12:26重新编辑 ]