• 10430阅读
  • 0回复

[提问]请教:qtablewidget 添加了combobox输入中文出错问题,是否qt 4.2.3的本身的bug?如何解决 [复制链接]

上一主题 下一主题
离线iamiyouareyo
 
只看楼主 倒序阅读 楼主  发表于: 2010-07-02
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我用ui画了一个tablewidget,然后用程序添加行。用的是new tablewidgetitem ,然后setitem(row,col,tablewidgetitem);
设置tablewidget的edittrigger 为doubleclicked。

注:在tablewidget里面添加了combobox.导致的中文出错错误,但是不知道如何解决。

代码如下:
  1.          for(int i=0;i<5;i++)
  2.                 {
  3.            QTableWidgetItem *item1 = new QTableWidgetItem();        
  4.           QTableWidgetItem *item2 = new QTableWidgetItem();
  5.           QTableWidgetItem *item3 = new QTableWidgetItem();
  6.     
  7.     item1->setText(QString::number(i+1));
  8.     tablewidget->setItem(i,0,item1);
  9.     
  10.     Qstring s = "ABC"    
  11.     item2->setText(s);
  12.     tablewidget->setItem(i,1,item2);
  13.     item3->setText("汉字");
  14.     tablewidget->setItem(i,2,item3);
  15.    QComboBox *comboxProtocol;    
  16. comboxProtocol = new QComboBox(tableWidget);
  17.    comboxProtocol->addItem("UDP");
  18.    comboxProtocol->addItem("TCP");
  19.   comboxProtocol->setCurrentIndex(1);    
  20.   tablewidget->setCellWidget(i,3,comboxProtocol);    
  21.          }


程序运行后发现:打开中文输入法,然后鼠标点击选中一个格,再敲几个英文字母(此时出现输入法提示栏的汉字,不要按回车和空格),
双击任意一个表格就会崩溃!
报的错误:*.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重新编辑 ]
快速回复
限100 字节
 
上一个 下一个