Qt中的标准对话框(中)

(一)颜色对话框  (QColorDialog)

//  构造颜色对话框对象

//  设置颜色对话框的相关属性

//  初始颜色

//  获取、处理

void Widget::ColorDialogBtn_Clicked()
{
    QColorDialog dlg(this);   //定义对象

    dlg.setWindowTitle("Color Editor");   //定义标题
    dlg.setCurrentColor(QColor(100, 111, 222));   //自定义,初始颜色

    if( dlg.exec() == QColorDialog::Accepted )    //以模态方式打开
    {
        QColor color = dlg.selectedColor();  //对话框选择的颜色

        qDebug() << color;      //打印颜色分量
        qDebug() << color.red();
        qDebug() << color.green();
        qDebug() << color.blue();
        qDebug() << color.hue();
        qDebug() << color.saturation();
        qDebug() << color.value();
    }
}

(二)输入对话框  (QInputDialog)

键盘输入

void Widget::InputDialogBtn_Clicked()
{
    QInputDialog dlg(this);  //对象

    dlg.setWindowTitle("Input Test");   //标题
    dlg.setLabelText("Please input an integer:");  //提示信息
    dlg.setInputMode(QInputDialog::TextInput);     //


    if( dlg.exec() == QInputDialog::Accepted )     以模态方式打开
    {
        qDebug() << dlg.textValue();
    }
}

(三)字体对话框(QFontDialog

设置字体

void Widget::FontDialogBtn_Clicked()  
{
    QFontDialog dlg(this);   //定义对象

    dlg.setWindowTitle("Font Dialog Test");  //设置标题
    dlg.setCurrentFont(QFont("Courier New", 10, QFont::Bold));  //设置初始字体

    if( dlg.exec() == QFontDialog::Accepted )   //以模态方式打开
    {
        qDebug() << dlg.selectedFont();         //打印
    }
}

(四) 进度对话框  (QProgressDialog

void Widget::ProgressDialogBtn_Clicked()
{
    QProgressDialog dlg(this);   //定义对话框对象

    dlg.setWindowTitle("Updating...");  //标题
    dlg.setLabelText("Downloading update from server...");  //提示信息
    dlg.setMinimum(0);    //输入值下限:最小值
    dlg.setMaximum(100);  //输入值上限:最大值
    dlg.setValue(35);     //进度值显示

    // create a new thread   //启动后台工作线程,从服务器上下载更新

    dlg.exec();  //进度对话框不需要用户等待,不用if语句
}

(五)打印对话框 (QPrintDialog

void Widget::PrintDialogBtn_Clicked()
{
    QPrintDialog dlg(this);  //定义对象

    dlg.setWindowTitle("Print Dialog Test");  //标题

    if( dlg.exec() == QPrintDialog::Accepted )   //以模态方式显示出来
    {
        QPrinter* p = dlg.printer();   //当用户点击ok后,
        QTextDocument td;    //被打印的文档

        //td.setPlainText("Printer object test!");
        td.setHtml("<h1>Print html object test</hl>");   //td文本文档,可打印网络

        p->setOutputFileName("H:\\test.pdf");  //打印到H盘

        td.print(p);  //未连接打印机,打印到文件
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值