- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我需要实现一个搜索表单(我已经有了这个功能),但我不知道如何将 QlineEdit 和 QPushButton 添加到 QMessageBox 中(如果我可以这样说的话)。
最佳答案
您可以继承 QDialog 并将其用作消息框
搜索对话框.h:
#ifndef SEARCHDIALOG_H
#define SEARCHDIALOG_H
#include <QDialog>
#include <QLineEdit>
class SearchDialog : public QDialog
{
Q_OBJECT
public:
explicit SearchDialog(QWidget *parent = 0);
QString searchString() const;
private:
QLineEdit *m_lineEdit;
};
#endif // SEARCHDIALOG_H
搜索对话框.cpp
#include "searchdialog.h"
#include <QVBoxLayout>
#include <QPushButton>
#include <QDialogButtonBox>
SearchDialog::SearchDialog(QWidget *parent) :
QDialog(parent)
{
m_lineEdit = new QLineEdit(this);
QPushButton *searchButton = new QPushButton(tr("Search"));
searchButton->setDefault(true);
QPushButton *cancelButton = new QPushButton(tr("Cancel"));
QDialogButtonBox *buttonBox = new QDialogButtonBox(Qt::Horizontal);
buttonBox->addButton(searchButton, QDialogButtonBox::AcceptRole);
buttonBox->addButton(cancelButton, QDialogButtonBox::RejectRole);
connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
QVBoxLayout *lt = new QVBoxLayout;
lt->addWidget(m_lineEdit);
lt->addWidget(buttonBox);
setLayout(lt);
}
QString SearchDialog::searchString() const
{
return m_lineEdit->text();
}
主要.cpp
#include <QtGui/QApplication>
#include <QtGui/QMessageBox>
#include <QLabel>
#include "searchdialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel lbl;
SearchDialog *dialog = new SearchDialog(&lbl);
lbl.show();
QString searchString;
if (dialog->exec()) {
searchString = dialog->searchString();
lbl.setText(searchString);
}
return a.exec();
}
关于c++ - 如何在搜索表单的 QMessageBox 中包含 QLineEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9351407/
我学习 PyQt5(这对我来说看起来很复杂),我想知道为什么 QMessageBox.Yes(或否)有一些特殊的值(value),对我来说它是 16384。这就是我的意思: from PyQt5 im
我似乎发现了 Qt 5.1 的一个烦人的问题。 假设你有一个系统托盘图标(QSystemTrayIcon)并且你隐藏了你的表单(QDialog),所以: this->hide(); 然后,当表单隐藏时
import time import sys, threading from PyQt4 import QtGui, QtCore from PyQt4.QtGui import QApplicati
我创建了一个与全屏应用程序一起运行的程序。我希望我的程序中的 QMessageBox 显示在全屏运行的应用程序的顶部。 平台是 Windows 7,我使用的是 Qt。 我试过了: QMessageBo
我需要显示简单的错误消息 QMessageBox::critical( nullptr, "My Title", "Text"); 但是对话框显示为空标题。 我做错了什么? PS:操作系统:MacO
我正在构建一个 Qt Symbian 项目,我想向用户显示应在几秒钟后自动关闭的通知。我已经看到诺基亚在他们的用户界面中经常使用它。 现在我正在使用下面的代码,以便用户可以关闭 QMessageBox
如何显示带有三角形感叹号符号的 QMessageBox::warning,如下所示? 我在QMessageBox::warning中找不到任何选项,我只得到红色的圆形符号。 最佳答案 三角形图标应该是
尽管设置了 setStandardButtons(0);它不会关闭 msgBox。 QMessageBox msgBox; msgBox.setText("My List"); msgBox.setS
我想创建一个简单的“关于”对话框,但注意到 QMessageBox::about 不会根据标题的长度调整其大小(由于字体较大,标题通常会更长...... .至少在我的桌面环境中),仅针对内容。有没有办
有没有办法显示一个具有可选择文本的QMessageBox,以便用户能够使用鼠标或键盘以某种方式选择和复制其内容?我知道我可以创建做到这一点的标签,但不确定消息框。 MS Windows 中的标准消息框
我想在计算时使用QMessageBox来阻止其父QDialog。我遇到了类似的事情,但这不起作用。 msgBox = QtWidgets.QMessageBox() msgBox.setWindowT
我正在使用 Qt 框架,但对它有点生疏。 我有两个 QStrings first 和 last 我想在 QMessageBox 中显示它们,但不知道如何包含多个参数。 这就是我必须用 on 参数对其进
我有一个看似简单的任务,但我正在疯狂地尝试解决这个问题。 我正在尝试编写 C++ QT 程序。我需要做的就是在 QMessageBox 中显示一些信息。我在与我的程序相同的目录中有一个文本文件,其中包
基本上我正在学习 Qt C++ 的基础知识,我试图同时打开两个不同的 QMessageBox,但它们相互重叠。我想知道是否有可能将它们并排放置。非常感谢任何关于如何这样做的意见。 额外信息:我使用 Q
我想使用 QMessageBox 向用户宣布一个短暂的等待间隔。 QMessageBox* box(new QMessageBox(QMessageBox::Information,"Parser",
我使用的是 Ubuntu Linux。我使用了 pyuic4 命令并创建了一个 .py 文件,然后向其中添加了一个消息框。如下所示: from PyQt4 import QtCore, QtGui t
我在 QMessageBox 上通过 QMessageBox::addButton() 方法添加了 3 个按钮。如果单击按钮,是否可以防止关闭消息框?默认情况下,每个按钮都会关闭窗口,但我不想为一个按
#include int main(int argc, char** argv) { QApplication app(argc, argv); // first QMess
我有一个问题,对你们中的一些人来说答案很明显,但我就是想不出来。 QMessageBox http://qt-project.org/doc/qt-5/qmessagebox.html有两种显示方式,
我正在尝试通过在 lambda 函数中调用其 show 函数来显示 QMessageBox,如下所示: connect(ui->graphButton, &QAbstractButton::click
我是一名优秀的程序员,十分优秀!