-
2019-05-15 10:19:37
1.包含头文件
#include <QMessageBox>
如果要打印出内容,还有添加头文件<QDebug>
2、实例:按键槽:
void Widget::on_stopButton_clicked()
{QMessageBox message(QMessageBox::Warning,"Information",
"Really to clear data?",QMessageBox::Yes|QMessageBox::No,NULL);
if (message.exec()==QMessageBox::Yes)
{
qDebug()<<"clicked yes\n";
}
else
{
qDebug()<<"clicked no\n";
}
}更多相关内容 -
Qt弹出标准对话框的方法
2018-01-08 09:16:07所以,我们在用QtCreator写的时候,可以在输入QMessageBox::information之后输入(稍等一下,QtCreator就会帮我们把函数签名显示在右上方了,还是挺方便的一个功能! Qt提供了五个类似的接口,用于显示类似的窗口。...参考:先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过:
QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
现在我们从API中看看它的函数签名:
static StandardButton QMessageBox::information ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton );
首先,它是static的,所以我们能够使用类名直接访问到(怎么看都像废话…);然后看它那一堆参数,第一个参数parent,说明它的父组件;第二个参数title,也就是对话框的标题;第三个参数text,是对话框显示的内容;第四个参数buttons,声明对话框放置的按钮,默认是只放置一个OK按钮,这个参数可以使用或运算,例如我们希望有一个Yes和一个No的按钮,可以使用QMessageBox::Yes | QMessageBox::No,所有的按钮类型可以在QMessageBox声明的StandarButton枚举中找到;第五个参数defaultButton就是默认选中的按钮,默认值是NoButton,也就是哪个按钮都不选中。这么多参数,豆子也是记不住的啊!所以,我们在用QtCreator写的时候,可以在输入QMessageBox::information之后输入(稍等一下,QtCreator就会帮我们把函数签名显示在右上方了,还是挺方便的一个功能!
Qt提供了五个类似的接口,用于显示类似的窗口。具体代码这里就不做介绍,只是来看一下样子吧!
QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::warning(NULL, "warning", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::question(NULL, "question", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::about(NULL, "About", "About this application");
请注意,最后一个about()函数是没有后两个关于button设置的按钮的!QMessageBox对话框的文本信息时可以支持HTML标签的。例如:
QMessageBox::about(NULL, "About", "About this <font color='red'>application</font>");
如果我们想自定义图片的话,也是很简单的。这时候就不能使用这几个static的函数了,而是要我们自己定义一个QMessagebox来使用:
QMessageBox message(QMessageBox::NoIcon, "Title", "Content with icon."); message.setIconPixmap(QPixmap("icon.png")); message.exec();
这里我们使用的是exec()函数,而不是show(),因为这是一个模态对话框,需要有它自己的事件循环,否则的话,我们的对话框会一闪而过哦。需要注意的是,同其他的程序类似,我们在程序中定义的相对路径都是要相对于运行时的.exe文件的地址的。比如我们写"icon.png",意思是是在.exe的当前目录下寻找一个"icon.png"的文件。这个程序的运行效果如下:
还有一点要注意,我们使用的是png格式的图片。因为Qt内置的处理图片格式是png,所以这不会引起很大的麻烦,如果你要使用jpeg格式的图片的话,Qt是以插件的形式支持的。在开发时没有什么问题,不过如果要部署的话,需要注意这一点。
最后再来说一下怎么处理对话框的交互。我们使用QMessageBox类的时候有两种方式,一是使用static函数,另外是使用构造函数。首先来说一下static函数的方式。注意,static函数都是要返回一个StandardButton,我们就可以通过判断这个返回值来对用户的操作做出相应。
QMessageBox::StandardButton rb = QMessageBox::question(NULL, "Show Qt", "Do you want to show Qt dialog?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); if(rb == QMessageBox::Yes) { QMessageBox::aboutQt(NULL, "About Qt"); }
如果要使用构造函数的方式,那么我们就要自己运行判断一下啦:
QMessageBox message(QMessageBox::NoIcon, "Show Qt", "Do you want to show Qt dialog?", QMessageBox::Yes | QMessageBox::No, NULL); if(message.exec() == QMessageBox::Yes) { QMessageBox::aboutQt(NULL, "About Qt"); }
其实道理上也是差不多的。
-
Qt 点击按钮弹出新对话框
2020-12-21 16:53:20点击按钮,弹出对话框。 方法 添加 Qt 设计师界面类 在 MainWindow.h 加入刚才生成的头文件,然后在成员上添加刚才那个界面的类的指针 Dialog *dialog; 在按钮的点击事件中加入以下代码 dialog = new ... -
Qt弹出一个对话框
2017-01-18 15:17:06Qt弹出一个对话框新建一个文件:
按键转到槽,槽函数中添加:
void MainWindow::on_pushButton_clicked() { com_config * c = new com_config(); c->show(); // c->exec(); }
PS:
定义为 com_config c = new com_config();时,界面会闪退。定义为指针类型,不会闪退。弹出的界面:
添加“确定”与“取消”按钮:
按钮转到槽添加代码:void com_config::on_pushButton_OK_clicked() { com_config::accept(); }
void com_config::on_Button_reject_clicked() { com_config::reject(); }
PS:
1.关闭主窗口并退出程序是 QApplication::exit()
2.如果是QDialog,就accept() 或 reject()
3.对于所有QWidget:close()PPS:
show()与exec()区别:
show():
显示一个非模式对话框。控制权即刻返回给调用函数。
弹出窗口是否模式对话框,取决于modal属性的值。exec():
显示一个模式对话框,并且锁住程序直到用户关闭该对话框为止。函数返回一个DialogCode结果。
在对话框弹出期间,用户不可以切换同程序下的其它窗口,直到该对话框被关闭。先简单说一下我对模式和非模式对话框的一点点理解:
模式对话框,就是在弹出窗口的时候,整个程序就被锁定了,处于等待状态,直到对话框被关闭。这时往往是需要对话框的返回值进行下面的操作。如:确认窗口(选择“是”或“否”)。
非模式对话框,在调用弹出窗口之后,调用即刻返回,继续下面的操作。这里只是一个调用指令的发出,不等待也不做任何处理。如:查找框。如果要固定对话框的大小可以用两种方法:
一种方法是设置它的最大大小和最小大小,并且使它们的值相等,都等于当前你设置的窗口尺寸。
简单的示例:setMinimumSize(370, 150); setMaximumSize(370, 150);
其他如height和width一般可以不理会。
另一种方法是使用setFixedSize(),这样一句话就可以解决问题。
简单的示例:setFixedSize(365,240);
一个实际的例子:
//这样设置的结果,连对话框的最大最小按钮都没有了 this->setFixedSize( this->width (),this->height ());
-
Qt学习之路10--Qt标准对话框(消息提示对话框和文件对话框)
2018-08-17 23:46:49分别是消息对话框、打开文件对话框、打印对话框、颜色选择对话框、输入对话框和进度条对话框,由于篇幅,将分次学习标准对话框,本次学习消息提示对话框和文件选择对话框。 因为Qt中所有类型的对话框都继承自... -
Qt弹出消息对话框
2015-01-21 16:02:00添加头文件 #include <QMessageBox> if(ui->lineEditXStart->text().isEmpty()) //判断lineedit输入内容是否为空 ... QMessageBox::information(this,tr("Error"),QStringLiteral("请输入相机参数"),... -
qt弹出窗口对话框_带有HTML5“对话框”元素的本机弹出窗口和模式
2020-06-19 19:49:09在这种情况下,一种常见的UX方法是显示一个对话框,通常带有两个按钮。 一个用于取消,另一个用于继续操作。 多年来, 我们一直依靠JavaScript库来执行此操作,但是在本教程中,我们将使用实验性的<dialog>... -
QT【简单自定义弹出提示框】:非模态,数秒后自动消失
2021-01-17 14:13:42目标效果:一个提示信息框,创建后显示提示信息,一定时间后自动消失,不阻塞原来窗口。思路: 自定义一个控件,继承自QWidget,构造时设置定时器,时间到则自我销毁。### 实现代码代码一共两个文件,.h/.... -
Qt弹出标准对话框的方法,并警告内容写中文
2019-01-07 11:56:00‘参考网址: ... 警告: ...QMessageBox::warning(NULL, QStringLiteral("警告"), QStringLiteral("请加入**"), QMessageBox::Yes | ...// 添加提示 转载于:https://www.cnblogs.com/rjjhyj/p/10232458.html -
Qt 中弹出一个对话框,用于输入密码
2020-10-08 17:22:51弹出的对话框有一个lineEdit,弹出来是空白,lineEdit是空的,但是可以设定密码,输入的文本和密码一样就可以,getText会一开始就出现密码,虽然密码不可见,但是不用输入,直接OK就可进入,这不是我想要的,我想要的... -
QT5 五,弹出对话框
2019-06-29 10:35:25MainWindow::MainWindow(QWidget *parent) : ...//需求 点击新建 弹出对话框 //对话框分类 //模态对话框 :不允许对其他窗口进行操作 //非模态对话框 :可以对其他窗口进行操作 connect(ui->actionn... -
QT中进度条对话框等待耗时操作
2021-12-09 22:40:47考虑程序的友好性,当程序在执行一项耗时操作时,界面应告诉用户“程序还在运行中”,那么,QT中进度对话框(QProgressDialog)可以满足要求 -
QT-- 模态对话框与非模态对话框
2018-05-25 16:20:012.弹出窗体 3.弹出窗体的类的实现 .h #include &amp;amp;lt;QWidget&amp;amp;gt; #include &amp;quot;QDialog.h&amp;quot; #include &amp;quot;ui_QtDialogToShow.h... -
Qt:使用QMessageBox弹出标准对话框
2020-12-11 10:08:48QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); 现在我们从API中看看它的函数签名: ...* buttons,声明对话框放置的按钮,默认是只放置一个OK按钮 -
【Qt】Qt登录对话框(设计器实现)
2021-03-22 15:21:41在弹出对话框中填写用户名和密码,按下登录按钮,如果用户名和密码均正确则进入主窗口,如果有错则弹出警告对话框。 02. 开发环境 Windows系统:Windows10 Qt版本:Qt5.15或者Qt6 03. 程序设计 3.1 新建Qt Widgets ... -
QT 对话框添加背景图片的方法
2021-10-31 22:41:57QPalette的方法 ... QtGui > int main( int argc, char * argv[]) { QApplication app(argc,argv); QFrame * frame = new QFrame; frame -> resize( 400 , 700 ); QPixmap pixmap("images/ -
QT-悬浮对话框
2016-05-14 19:35:59QT-悬浮对话框 PPT教程+代码 -
Qt 常用文件对话框及消息对话框使用
2022-02-17 00:00:14QString sPath = QFileDialog::getOpenFileName(this,"文件对话框",".","c++ files(*.cpp);;"); m_fileLineEdit->setText(sPath); } void Dialog::showColorDlg() { QColor color = QColorDialog::getColor... -
Qt基本对话框实现
2015-01-01 14:48:18这个文件里面包含了Qt里面的标准对话框实现,具体有:标准文件对话框,标准颜色对话框,标准字体对话框,标准输入对话框类,消息对话框 -
QT五> 对话框
2021-03-08 17:32:50QDialog(及其子类,以及所有Qt::Dialog类型的类)的对于其 parent 指针都有额外的解释:如果 parent 为 NULL,则该对话框会作为一个顶层窗口,否则则作为其父组件的子对话框(此时,其默认出现的位置是 parent 的... -
qt 消息弹出框 ,无框,缓慢自动消失
2021-08-27 11:33:53思路:弹出一个无边框窗体,再添加一个QLabel显示消息,使用了两个定时器,控制显示消失 效果: 主窗体调用: void MainWindow::on_pushButton_clicked() { MessageTips *mMessageTips = new MessageTips("网络... -
qt点击按钮弹出dialog对话框的制作方法
2019-06-19 10:21:24参考链接:https://blog.csdn.net/m0_37143327/article/details/80265820 -
Qt之点击PushButton弹出对话框
2020-03-05 19:58:04Qt之点击PushButton弹出对话框概述:代码示例:.h.cpp运行效果图:over:文末一句话: 概述: 在日常项目中会经常遇到点击按钮弹出对话框,今天分享个简单示例; 1.需要包含 #include < QDialog > 头文件 代码... -
Qt入门系列开发教程【对话框】QErrorMessage错误消息对话框
2022-03-14 08:49:59Qt错误消息对话框 -
QT学习:错误信息对话框
2021-04-16 17:39:31#incldue<QErrorMessage> QErrorMessage *dialog = new QErrorMessage...这里新建一个QErrorMessage对话框,并且调用它的showMessage()函数来显示错误信息,调用这个函数时对话框会以非模态得形式显示出来。 ... -
QT 如何在弹出自定义对话框时主界面不可操作
2019-12-20 12:42:34最近在做主界面通过按钮弹出对话框时,想让弹出对话框时主界面不可操作。总结两种方法如下; 方法一: 继承QDialog, class CMyDialog : public QDialog { Q_OBJECT public: CMyDialog(QWidget *parent = 0); ~... -
QT学习总结-标准对话框
2022-02-04 11:22:55标准对话框 包括文件对话框,可进行文件的选择;颜色对话框,可对颜色进行选择;字体对话框,可对字体的样式进行选择;...消息对话框,包括信息提示框、询问提示框、警告提示框、错误提示框和帮助提示框。 -
QT QMessageBox弹出对话框并显示可复制的文本内容
2019-12-16 16:04:38QMessageBox box;//也可以创建其它对话框,如Qdialog,可以设置窗口大小,文本显示位置等等 box.setText("abc"); box.setTextInteractionFlags(Qt::...//函数用于弹出对话框,会阻塞,关闭对话框后解除阻塞 ...
-
<em>Qt</em>-Creator的使用.rar值得学习 <em>QT</em>学习只能 学习之呢按
-
<em>QT</em>快速入门<em>QT</em>是当今跨平台开发的最佳IDE.可用于Windows,linux,android,ios应用开发。本教程适用于从零基础到高手的所有跨平台开发人员。
-
<em>Qt</em>_Creator的使用详细的介绍了<em>QT</em>_CREATE IDE使用的使用,<em>QT</em>4.7的。
-
<em>qt</em>实例猜数小游戏源码简单易学的<em>qt</em>小程序源代码,实现猜数小游戏,有注释.
-
<em>Qt</em>_Creator系列教程.zip很不错的介绍<em>QT</em> creator编程的书籍