Qt-Day07-学习笔记

1. Spinbox与Horizontal Slider以及Vertical Slider水平滚动条控件之间信号和槽的绑定

1.1. 可视化操作

在这里插入图片描述

1.2. 代码实现

  connect(ui->spinBox,SIGNAL(valueChanged(int)),this,SLOT(slot_valueChange(int)));
  connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(slot_valueChangedBin(int)));

void Widget::slot_valueChange(int value)
{
    qDebug() << value <<endl;
    ui->horizontalSlider->setValue(value);
}

void Widget::slot_valueChangedBin(int value)
{
    ui->spinBox->setValue(value);
}

2. Qtimer类

    m_QTimer = new QTimer(this);
    m_QTimer->setInterval(10);      //设置定时器周期
    connect(m_QTimer,SIGNAL(timeout()),this,SLOT(slot_timer_timeout()));
    m_QTimer->start(10);            //启动定时器
    
	void Widget::slot_timer_timeout()
	{
	    QTime curTime = QTime::currentTime();       //获取当前时间
	    qDebug() << curTime <<endl;
	}

在这里插入图片描述

3. 高级控件:可以将多个控件功能和为一个的高级控件类

对话框

  • QInputDialog:用户输入对话框

    //1. 用户输入对话框
    bool value;
    int index = QInputDialog::getInt(&w,"输入","数字",0,0,100,1,&value);
    if(value)
    {
        qDebug() << "true" << index << endl;
    }
    else
    {
        qDebug() << "false" << endl;
    }


    QStringList items;
    items << "1111" << "2222" << "33333333333";

    bool ok;
    QString text =QInputDialog::getItem(&w,"输入","数字",items,0,false,&ok);
    if(ok && !text.isEmpty())
    {
        qDebug()<< text;
    }

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • QColorDialog:选择指定颜色的对话框

    //2. 选择颜色对话框
    QColor color;
    color = QColorDialog::getColor(Qt::yellow,&w,"颜色",QColorDialog::DontUseNativeDialog);
    //默认的颜色,指定父类,标题,指定option值
    if(color.isValid())
    {
        qDebug()<< color.name();
    }

在这里插入图片描述
在这里插入图片描述

  • QFontDialog:选择字体的对话框
    //3. QFontDialog:选择字体的对话框
    bool okk;
    QFont font = QFontDialog::getFont(&okk,QFont("宋体",12),&w);
    if(okk)
    {
        qDebug() << font.key();
    }

在这里插入图片描述
在这里插入图片描述

  • QFileDialog:选择文件或目录的对话框
    //4.
//    QFileDialog::ShowDirsOnly;//只显示目录
//    QFileDialog::DontResolveSymlinks;//不显示符号链接
//    QFileDialog::DontConfirmOverwrite;//覆写现文件时,不显示警告信息
//    QFileDialog::DontUseNativeDialog;//不使用系统默认文件对话框
//    QFileDialog::ReadOnly;//使用制度模式文件对话框
//    QFileDialog::HideNameFilterDetails;//使用过滤器隐藏文件
    //文件显示
    QFileDialog::Options op;
    op = QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly;
    op = QFileDialog::DontUseNativeDialog;
    //显示文件路径
    QString str = QFileDialog::getExistingDirectory(&w,"文件","/home",op);
    qDebug() << str;
    //指定要保存的文件
    QString filename = QFileDialog::getSaveFileName(NULL, QStringLiteral("保存文件"), QStringLiteral("C:/Users/Desktop"), QStringLiteral("EXCEL(*.xlsx)"));
    qDebug() <<filename;

在这里插入图片描述
在这里插入图片描述

  • QMessageBox:模态对话框,提示框,可以选择有确实的,取消…

    //5. 提示框
    QMessageBox::StandardButton button;
    button = QMessageBox::critical(&w,"提示","选择按钮",QMessageBox::Ok | QMessageBox::No | QMessageBox::Help);
    if(button == QMessageBox::Ok)
    {
        qDebug("OK");
    }
    else if(button == QMessageBox::No)
    {
        qDebug("NO");
    }
    else
    {
        qDebug("Help");
    }
    

- QProcessDialog:显示百分比进度的对话框
当然,除了 OK 和 Cancel 按钮外, 还可选择其它按钮。例如:
QMessageBox ::Yes, QMessageBox :: No, QMessageBox :: Retry , QMessageBox :: Ignore。

消息框里显示的图标当然也不止一种,

◆ QMessageBox :: NoIcon不显示任何图标;

◆ QMessageBox :: Information显示一个信息图标

◆ QMessageBox :: warning显示一个警告图标

◆ QMessageBox :: Critical提示显示关键信息,可选用该图标=

//实例化消息对话框对象
    QMessageBox *msgBox;
    msgBox = new QMessageBox(
        "title",                                                //这里是设置消息框标题
        "messageBox comment",                                   //这里是设置消息框显示的内容
        QMessageBox::Critical,                                  //这里是在消息框显示的图标
        QMessageBox::Ok | QMessageBox::Default,                 //这里是显示消息框上的按钮情况
        QMessageBox::Cancel | QMessageBox::Escape,              //这里与 键盘上的 escape 键结合。当用户按下该键,消息框将执行cancel按钮事件
        //QMessageBox::information(NULL,"title","comment") |    //这里是 定义第三个按钮, 该例子 只是 了显示2个按钮
        QMessageBox::warning(NULL,"waring","content",QMessageBox::No | QMessageBox::Yes)
        //QMessageBox::question(NULL, "question", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes)
        );

    msgBox->show();									//显示消息框


在这里插入图片描述

在这里插入图片描述
参考文献:
Qt学习之路之QMessageBox消息框
qt5信息提示框QMessageBox用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值