设为首页收藏本站 |天气与日历| 2025-04-20 星期日 07:47:00 乙巳(蛇)年 三月廿三 辰时 谷雨
     
切换到窄版

私人站点

 找回密码
 立即注册
搜索
查看: 147|回复: 0

对话框

[复制链接]

954

主题

954

帖子

3875

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3875
发表于 2022-1-31 09:42:07 | 显示全部楼层 |阅读模式
1 对话框创建
1.1 分类:模态对话框 和非模态对话框
1.1.1 模态 不可以对其他窗口进行操作
1.1.2 非模态 可以对其他窗口进行操作
1.1.3 模态对话框创建
1.1.3.1 QDialog dlg(this);
1.1.3.2 dlg.exec();
1.1.4 非模态对话框创建
1.1.4.1 QDialog * dlg2 = new QDialog(this);
1.1.4.2 dlg2->show();
设置属性  dlg2->setAttribute(Qt::WA_DeleteOnClose);  //释放非模态对话框资源

[C] 纯文本查看 复制代码
        //对话框分类  模态对话框   非模态对话框
        //模态对话框  不可以对其他窗口进行操作
        //非模态对话框  可以对其他窗口进行操作


        //模态对话框创建
//        QDialog dlg(this);
//        dlg.resize(120,30);
//        dlg.exec();

        //非模态对话框创建
//          QDialog *dlg2 = new QDialog(this);
//          dlg2->resize(120,30);
//          dlg2->show();
//          //设置 55号属性
//          dlg2->setAttribute(Qt::WA_DeleteOnClose);

1.1 标准对话框  QMessageBox
1.1.1 利用静态成员函数可以弹出 警告、询问、信息、错误对话框
1.1.2 参数1   父窗口  参数2  标题  参数3  提示信息  参数4  按键类型  参数5  默认关联回车按键
1.1.3 QMessageBox::Save == QMessageBox::question(this,"询问","question" , QMessageBox::Save | QMessageBox::Cancel ,QMessageBox::Cancel)
1.1.4 返回值代表用户选择按钮
[C++] 纯文本查看 复制代码
        //QMessageBox对话框

        //错误提示对话框
        //QMessageBox::critical(this,"错误","critical");

        //信息提示对话框
        //QMessageBox::information(this,"信息","info");

        //询问提示对话框
        // 参数1   父窗口  参数2  标题  参数3  提示信息  参数4  按键类型  参数5  默认关联回车按键
//        if( QMessageBox::Save ==  QMessageBox::question(this,"询问","question" , QMessageBox::Save | QMessageBox::Cancel ,QMessageBox::Cancel))
//        {
//             qDebug()<<"点击的是保存";
//        }
//        else
//        {
//             qDebug()<<"点击的是取消";
//        }

        //警告提示对话框
        //QMessageBox::warning(this,"警告","warning");


1.2 其他常用标准对话框
1.2.1 颜色对话框
1.2.1.1 QColor color = QColorDialog::getColor(Qt::red);
1.2.2 文件对话框
1.2.2.1 QString fileName = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhangtao\\Desktop","(*.doc)");
1.2.3 字体对话框
1.2.3.1 QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
1.2.3.2 qDebug() << "字体" << font.family().toUtf8().data() << "字号"<< font.pointSize()<< "是否加粗"<<font.bold() << "是否倾斜" << font.italic();
[C] 纯文本查看 复制代码
     //颜色对话框
//         QColor color = QColorDialog::getColor(Qt::red);
//         qDebug() << color.red() << color.green() << color.blue() ;

        //文件对话框
//          QString fileName = QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhangtao\\Desktop","(*.doc)");
//          qDebug () <<fileName;

        //字体对话框
        bool flag;
        QFont font = QFontDialog::getFont(&flag,QFont("华文彩云",36));
        qDebug() << "字体" << font.family().toUtf8().data() << "字号"<< font.pointSize()
                 << "是否加粗"<<font.bold() << "是否倾斜" << font.italic();



6.2 标准对话框
所谓标准对话框,是 Qt 内置的一系列对话框,用于简化开发。事实上,有很多对话框都是通用的,比如打开文件、设置颜色、打印设置等。这些对话框在所有程序中几乎相同,因此没有必要在每一个程序中都自己实现这么一个对话框。
Qt 的内置对话框大致分为以下几类:
l QColorDialog:                选择颜色;
l QFileDialog:                        选择文件或者目录;
l QFontDialog:                        选择字体;
l QInputDialog:                允许用户输入一个值,并将其值返回;
l QMessageBox:                        模态对话框,用于显示信息、询问问题等;
l QPageSetupDialog:        为打印机提供纸张相关的选项;
l QPrintDialog:                打印机配置;
l QPrintPreviewDialog:打印预览;
l QProgressDialog:                显示操作过程。
6.3 自定义消息框
Qt 支持模态对话框和非模态对话框。
模态与非模态的实现:
l 使用QDialog::exec()实现应用程序级别的模态对话框
l 使用QDialog::open()实现窗口级别的模态对话框
l 使用QDialog::show()实现非模态对话框。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|编程站点 ( 冀ICP备2023028127号-2 )|友链申请|

GMT+8, 2025-4-20 07:47 , Processed in 0.080127 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表