论坛首页 编程语言技术论坛

Qt内建对话框简介

浏览 4057 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-13  
C++

1.QErrorMessage 错误信息对话框

QErrorMessage提供了一个错误信息显示的对话框。

一个错误信息部件由一个文本域和一个复选框组成。复选框让用户控制是否下一次还显示这个错误信息,通常显示的文本为“Show this message again”(根据本地的语言环境相应的翻译)。

在开发应用中,这个类被用于用户只看一次的显示信息。

文档例程:

errorMessageDialog->showMessage(

             tr("This dialog shows and remembers error messages. "

                "If the checkbox is checked (as it is by default), "

                "the shown message will be shown again, "

                "but if the user unchecks the box the message "

                "will not appear again if QErrorMessage::showMessage() "

                "is called with the same message."));

 

2.QColorDialog 颜色对话框

QColorDialog类提供了一个指定颜色的对话框部件。

颜色对话框函数允许用户去选择颜色。例如,在图画程序中,允许用户去设置笔刷的颜色。

静态getColor()函数显示对话框,允许用于去指定一个颜色。这个函数也可以被用于让用户根据透明度级别选择颜色:通过ShowAlphaChannel参数。

用户可以通过存储自定义的颜色。自定义颜色被分享到所有的颜色对话框,在程序执行期间被记忆。用setCustomColor()方法设置自定义颜色,用customColor()方法获取。

文档例程:

QColor color = QColorDialog::getColor(Qt::green, this);

     if (color.isValid()) {

         colorLabel->setText(color.name());

         colorLabel->setPalette(QPalette(color));

         colorLabel->setAutoFillBackground(true);

     }

 

3.QFileDialog文件对话框

QFileDialog类提供了一个允许用户去选择文件、目录的对话框。

QFileDialog累允许用户遍历文件系统,以选择一个或多个文件、目录。

最简单的方法创建一个QFileDialog:

 fileName = QFileDialog::getOpenFileName(this,

     tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)")

 

4.QFontDialog字体对话框

QFontDialog类提供来一个选择字体的对话框。

一个字体对话框通过静态的getFont()方法创建。

例如:

bool ok;

 QFont font = QFontDialog::getFont(

                 &ok, QFont("Helvetica [Cronyx]", 10), this);

 if (ok) {

     // the user clicked OK and font is set to the font the user selected

 } else {

     // the user canceled the dialog; font is set to the initial

     // value, in this case Helvetica [Cronyx], 10

 }

 QFontDialog也可以被用于设置一个部件的字体:

  myWidget.setFont(QFontDialog::getFont(0, myWidget.font()));

 

5.QPrintDialog打印对话框

QPrintDialog类提供一个指定打印机配置的对话框。

相关代码:

QPrinter printer;

        QPrintDialog dlg(&printer, this);

        dlg.setWindowTitle(tr("打印对话框"));

        if (dlg.exec() == QDialog::Accepted)

        {

            // 进行下一步的处理。

        }

 

6.QProgressDialog进度对话框

QProgressDialog类提供了对费时操作进度的反馈功能。进度对话框用于给用户指出某个将要进行的操作需要多长时间,以及表明应用程序尚未冻结。尽管QProgressDialog类似于QProgressBar,但QProgressDialog给了用户放弃操作的机会,而QProgressBar只是仅仅显示进度。

相关代码:

 QProgressDialog progress(tr("正在复制文件..."), tr("取消"), 0, 10000, this);

        progress.setWindowModality(Qt::WindowModal);

        progress.setWindowTitle(tr("进度对话框"));

        progress.show();

        for (int i = 0; i < 10000; i++)

        {

            progress.setValue(i);

            qApp->processEvents();

            if (progress.wasCanceled())

                break;

            //... 复制文件处理。

            qDebug() << i;

        }

        progress.setValue(10000);


   发表时间:2010-07-29  
官方文档都有的,何必呢。
0 请登录后投票
   发表时间:2010-08-17   最后修改:2010-08-17
&nbsp;
0 请登录后投票
   发表时间:2010-08-17  
Qt的编码方式非常于Java类似!
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics