• 4054阅读
  • 3回复

[提问]QFormLayout如何删除一行 [复制链接]

上一主题 下一主题
离线houtinghua
 

只看楼主 正序阅读 楼主  发表于: 2013-03-19
只有addrow,我测试用一下方法

QWidget*w = new QWidget();
    this->setCentralWidget(w);
     QFormLayout* fl = new QFormLayout(this);
     w->setLayout(fl);


     QLineEdit*txt = new QLineEdit(this);
     fl->addRow(tr("aaaaaaaa"),txt);


     fl->removeItem(fl->itemAt(0));
     delete txt;


     QComboBox *drparg = new QComboBox(this);
     fl->addRow(tr("bbbbbbbbbb"),drparg);
这样楞写,惯用,但是放到程序内,就不管用了,在程序内我总是删除fl->itemAt(3)
离线houtinghua

只看该作者 3楼 发表于: 2013-03-19
delete fl->labelForField(txt);

不翻墙还真tm解决不了了
离线houtinghua

只看该作者 2楼 发表于: 2013-03-19
sorry,依然不对,别用
离线houtinghua

只看该作者 1楼 发表于: 2013-03-19
目前可以了,貌似removeItem需要执行2次,因为fl->addRow(tr("aaaaaaaa"),txt);相当于添加了2个控件

快速回复
限100 字节
 
上一个 下一个