QLineEdit的右边添加按钮

  做项目的时候,很多时候会遇到要在编辑框的右边添加一个按钮,用于弹出其他窗口选择内容后再填入编辑框,一种做法是添加一个QLineEdit再在后面加一个QPushButton然后进行布局,但这样不太好看。
  其实QLineEdit是支持在右边添加按钮的。实现代码如下:

	QLineEdit* editor = new QLineEdit(parent);
	QToolButton* btn = new QToolButton;
	btn->setText("...");
	btn->setCursor(Qt::ArrowCursor);//如果不设置鼠标样式,鼠标移动到按钮上依旧显示为编辑框的鼠标样式。
	QWidgetAction* action = new QWidgetAction(editor);
	action->setDefaultWidget(btn);
	editor->addAction(action, QLineEdit::TrailingPosition);
	
	connect(btn, &QToolButton::clicked, this, [=]() {
	 QDialog dlg;
	 dlg.exec();
	});

你可能感兴趣的:(qt,QLineEdit)