首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

在qtablewidget里插入comboBox出现的有关问题

2012-09-29 
在qtablewidget里插入comboBox出现的问题使用setCellWidget往不同单元格中插入同一个comboBox,为什么只在

在qtablewidget里插入comboBox出现的问题
使用setCellWidget往不同单元格中插入同一个comboBox,为什么只在最后插入的单元格显示呢?代码如下:

int main(int argc,char **argv)
{
  QApplication app(argc,argv);

  QTableWidget* table = new QTableWidget(2,3);
  table->setFixedSize(350,150);

  table->setHorizontalHeaderLabels(QString("HEADER 1;HEADER 2;HEADER 3").split(";"));

  QComboBox *combo = new QComboBox();
  combo->addItem("test");

  table->setCellWidget(0,1,combo);
  table->setCellWidget(0,0,combo);
  table->setCellWidget(1,1,combo);//只显示这个
  table->setCellWidget(0,2,new QCheckBox("Checkbox"));
  table->setCellWidget(1,2,new QCheckBox("Checkbox"));//两个都能显示

  table->show();
  return app.exec();
}
插入CheckBox时却都能显示,这是Qt的bug还是我把这个方法用错了呢?
另外求助一下在QtableWidget里有什么办法拷贝单元格呢?比如在复制上面的(1,1)单元格的内容(包括widget)到别的单元格,真心求教!!!

[解决办法]
QComboBox *combo = new QComboBox();
combo->addItem("test");

table->setCellWidget(0,1,combo);
table->setCellWidget(0,0,combo);
table->setCellWidget(1,1,combo);//只显示这个

这样写 只声明了一个QComboBox 显示出来肯定是一个啊 
要显示三个就要声明三个QComboBox 分别set进去
[解决办法]
写个comboBox的数组吧,集中管理就可以了
[解决办法]
这个貌似没有办法。。。要不你重写cell?。。这样省去很多麻烦呢。

热点排行