天天看点

Qt控件---->对话框QDialog

QT中使用QDialog实现对话框。

  1. 创建对话框,如果其parent为NULL,则对话框作为顶层窗口,否则则作为父组件的子对话框(默认出现在parent的中心)
  2. 对话框分为模态和非模态(能不能操作除了对话框以外的位置)

标准对话框

所谓标准对话框,是Qt 内置的一系列对话框,用于简化开发。

事实上,有很多对话框都是通用的,比如打开文件、设置颜色、打印设置等。

这些对话框在所有程序中几乎相同,因此没有必要在每一个程序中都自己实现这么一个对话框。

Qt 的内置对话框大致分为以下几类:

QColorDialog 选择颜色;
QFileDialog 选择文件或者目录;
QFontDialog 选择字体;
QInputDialog 允许用户输入一个值,并将其值返回;
QMessageBox 模态对话框,用于显示信息、询问问题等;
QPageSetupDialog 为打印机提供纸张相关的选项;
QPrintDialog 打印机配置;
QPrintPreviewDialog 打印预览;
QProgressDialog 显示操作过程。

模态对话框

//定义一个对话框
QDialog dialog;
dialog.setwindowTitle(tr("Hello,dialog! "));//设置对话框标题
dialog.exec() ;//阻塞对话框
           

非模态对话框

QDialog *dialog = nlew QDialog;
dialog->setAttribute(Qt:: wA_DeleteOnclose);//关闭窗口自动释放
dialog-> setwindowTitle(tr( "Hello, dialog ! "));
dialog->show ) ;
           

消息对话框

//消息对话框
QMessageBox::about(this ,"标题", "内容");
//询问对话框
int ret = QMessageBox::question(this,"标题","你需要吗",QMessageBox::Open|QMessageBox:  Save);
if(ret == QMessageBox: :Open)
{
	qDebug()<<"open" ;
}
else
	qDebug()<<"save" ;

           

继续阅读