QFiledialog添加控件

                      欢迎关注公众号可以查看更多完整文章

一种方法(我使用的):

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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GreenArrowMan

请打钱~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值