QFiledialog添加控件

来源:互联网 发布:js 数组和对象 编辑:程序博客网 时间:2024/06/06 10:07

一种方法(我使用的):

http://www.cnblogs.com/foohack/p/3914164.html。至于点击按钮窗口关闭的问题:使用信号去连接一个自己的槽。


另一种方法(担心Qt升级导致要重新修改代码,没有使用):

QFileDialog* f = new QFileDialog();f->setOption(QFileDialog::DontUseNativeDialog, true);QGridLayout *layout = static_cast<QGridLayout*>(f->layout());QList< QPair<QLayoutItem*, QList<int> > > moved_items;f->show();for (int i = 0; i < layout->count(); i++) {int row, column, rowSpan, columnSpan;layout->getItemPosition(i, &row, &column, &rowSpan, &columnSpan);if (row >= 2) {QList<int> list;list << (row + 1) << column << rowSpan << columnSpan;moved_items << qMakePair(layout->takeAt(i), list);i--; // takeAt has shifted the rest items}}for (int i = 0; i < moved_items.count(); i++) {layout->addItem(moved_items[i].first,moved_items[i].second[0],moved_items[i].second[1],moved_items[i].second[2],moved_items[i].second[3]);}QLineEdit *line = new QLineEdit();layout->addWidget(line, 2, 0, 1, 4);


0 0
原创粉丝点击