精华内容
下载资源
问答
  • QT 提示框

    2020-09-18 17:10:12
    int ret = QMessageBox::question(this, "退出程序", "您是否确认退出\r\n"); if(ret == QMessageBox::StandardButton::Yes){ }else{ } eg: information QMessageBox::information(NULL, "Title", "Content...
    int ret = QMessageBox::question(this, "退出程序", "您是否确认退出\r\n");
    if(ret == QMessageBox::StandardButton::Yes){
              
    }else{
           
    }
    

    eg:

    information
    QMessageBox::information(NULL, "Title", "Content", 
                             QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    

    这是比较常用的一种用法,效果如下:

    information原型:

    StandardButton QMessageBox::information(QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton) [static]
    

    第一个参数是父控件指针
    第二个参数是标题
    第三个参数是内容
    第四个参数是窗口里面要多少个按钮(默认为OK)
    第五个参数指定按下Enter时使用的按钮。(默认为NoButton,此时QMessageBox会自动选择合适的默认值。)

    参考:https://www.cnblogs.com/zhoug2020/p/10094855.html

    展开全文
  • 实现Qt提示框淡出、飞出、缩小等关闭窗口动画,除此之外还包含了阴影、背景着色、滤镜等特效。
  • qt 透明提示框

    2018-02-07 10:12:11
    qt实现透明提示框 源码编译通过
  • QT提示框使用

    2021-06-05 09:14:04
    弹框使用一,使用默认按钮 OK1,警告提示框2,错误提示框3,information提示框4,question提示框5,about提示框二,自定义弹出框按钮三,自定义弹框点击按钮后的操作四,按钮类型 弹框主要是发布软件后用于提示用户...


    弹框主要是发布软件后用于提示用户软件运行情况,需要用户手动确认后,程序才会继续执行下一步操作。

    一,使用默认按钮 OK

    1,警告提示框

    QMessageBox::warning(this,tr("警告信息"),tr("用户确认警告信息"));
    

    2,错误提示框

    QMessageBox::critical(this,"错误信息","用户确认错误信息");
    

    3,information提示框

    QMessageBox::information(this,"提示信息","用户确认信息");
    

    4,question提示框

    QMessageBox::question(this,"提示信息","用户确认信息");
    

    5,about提示框

    QMessageBox::question(this,"提示信息","用户确认信息");
    

    二,自定义弹出框按钮

    QMessageBox第四个参数自定义需要显示的按钮,可以是一个,两个,三个按钮,第五个参数设置弹出时选择的按钮,以下选择Yes.

    QMessageBox::information(this, "提示信息", "用户确认信息",
                QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
                
    QMessageBox::information(NULL, "提示信息", "用户确认信息",
                QMessageBox::Yes|QMessageBox::No|QMessageBox::Abort);
    

    三,自定义弹框点击按钮后的操作

    QMessageBox:: StandardButton result= QMessageBox::information(this, "提示信息", "用户确认信息",QMessageBox::Yes|QMessageBox::No);
        switch (result)
        {
        case QMessageBox::Yes:
            qDebug()<<"选择Yes操作";
            break;
        case QMessageBox::No:
            qDebug()<<"选择NO操作";
            break;
        default:
            break;
        }
    

    or

    QMessageBox messageBox(QMessageBox::NoIcon,
                               "退出", "你确定要退出吗?",
                               QMessageBox::Yes | QMessageBox::No, NULL); ;
    int result=messageBox.exec();
        switch (result)
        {
        case QMessageBox::Yes:
            qDebug()<<"Yes";
            close();
            break;
        case QMessageBox::No:
            qDebug()<<"NO";
            break;
        default:
            break;
        }
    

    四,按钮类型

    enum StandardButton {
            // keep this in sync with QDialogButtonBox::StandardButton
            NoButton           = 0x00000000,
            Ok                 = 0x00000400,
            Save               = 0x00000800,
            SaveAll            = 0x00001000,
            Open               = 0x00002000,
            Yes                = 0x00004000,
            YesToAll           = 0x00008000,
            No                 = 0x00010000,
            NoToAll            = 0x00020000,
            Abort              = 0x00040000,
            Retry              = 0x00080000,
            Ignore             = 0x00100000,
            Close              = 0x00200000,
            Cancel             = 0x00400000,
            Discard            = 0x00800000,
            Help               = 0x01000000,
            Apply              = 0x02000000,
            Reset              = 0x04000000,
            RestoreDefaults    = 0x08000000,
    
            FirstButton        = Ok,                // internal
            LastButton         = RestoreDefaults,   // internal
    
            YesAll             = YesToAll,          // obsolete
            NoAll              = NoToAll,           // obsolete
    
            Default            = 0x00000100,        // obsolete
            Escape             = 0x00000200,        // obsolete
            FlagMask           = 0x00000300,        // obsolete
            ButtonMask         = ~FlagMask          // obsolete
        };
    

    展开全文
  • QT编辑的下拉提示

    2017-09-26 14:16:55
    QT编辑的下拉提示 原创 2011年06月07日 09:47:00 最近做一个数据库系统,用到QT,想模仿一下网页那种输入信息之后下拉提示。一开始觉得挺简单的,打算自己实现,后来写了之后才发现,没那么容易的,因为用下拉框...

    最近做一个数据库系统,用到QT,想模仿一下网页那种输入信息之后下拉提示。一开始觉得挺简单的,打算自己实现,后来写了之后才发现,没那么容易的,因为用下拉框,它的消息机制是很奇怪的,很难受我的控制。

     后来偶然发现,QT里已经有这样的控件了。QCompleter这个控件可以绑在所有的输入控件上,用来下拉提示信息。
    
     下面是绑定在QComboBox上的一段代码。
    QStringList strings;  
    strings << "Biao" << "Biao Huang" << "Mac" << "MacBook" << "MacBook Pro" << "Mac Pro";  
    completer = new QCompleter(strings, this);  
    ui.comboBox->clear();  
    ui.comboBox->addItems(strings);  
    ui.comboBox->setEditable(true);  
    ui.comboBox->setCompleter(completer);  
    

    “`

    展开全文
  • Qt 自定义提示框

    2021-04-15 17:22:46
    } 调用举例: //退出提示框 if(m_msgBox){ delete m_msgBox; } m_msgBox=new MsgBox(3,QStringLiteral("正在试图结束程序"),this); if(m_msgBox->exec()==0) { event->ignore(); return; } // 警告框 if(m_msgBox){...

    新建 msgbox.h 文件,代码如下

    #ifndef MSGBOX_H
    #define MSGBOX_H
    
    #include <QPushButton>
    #include <QLabel>
    #include <QMouseEvent>
    #include<QDialog>
    #include<QTimer>
    #include<QDebug>
    #include <windows.h>
    #include <QWidget>
    class MsgBox : public QDialog
    {
        Q_OBJECT
    public:
        MsgBox(int style,QString text,QWidget *parent = 0);
        ~MsgBox();
    public:
        QPushButton *okBtn;
        QPushButton *cancleBtn;
        QPushButton *closeBtn;
        QPushButton * msgBtn;
        QLabel * titleLabel;
        QLabel *askLabel;
    
    protected:
        QPoint move_point;                                    //移动的距离
        bool mouse_press;                                    //鼠标按下
        void mousePressEvent(QMouseEvent *qevent);            //鼠标按下事件
        void mouseReleaseEvent(QMouseEvent *qevent);         //鼠标释放事件
        void mouseMoveEvent(QMouseEvent *qevent);             //鼠标移动事件
    
    public slots:
        void okBtn_press();
        void cancleBtn_press();
        void closeBtn_press();
        void closeWin();
    };
    #endif // MSGBOX_H
    

    创建msgbox.cpp 文件,代码如下

    #include "msgbox.h"
    
    MsgBox::MsgBox(int style, QString text, QWidget *parent):QDialog(parent)
    {
        this->resize(332,167);
      //获取主界面的宽度
        int width = this->width();
        int height = this->height();
        setStyleSheet("QWidget{background-color: rgb(219,229,245);}");
      //初始化为未按下鼠标左键
    
      //设置标题栏隐藏
        this->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
        titleLabel = new QLabel(this);
        titleLabel->setGeometry(0,0,width,30);
        if(style==1)
            titleLabel->setText(QStringLiteral("  警告  "));
        else
            titleLabel->setText(QStringLiteral("  提示  "));
        titleLabel->setStyleSheet("QLabel{font-family :微软雅黑;font-size : 5em;color : rgb(255,255,255);background-color: rgb(139,159,185); border-radius:0px;}");
    
        closeBtn = new QPushButton(this);
        closeBtn->setGeometry(width-30, 6, 20, 20);
        closeBtn->setStyleSheet("QPushButton{image:url(:/images/images/close.png);background: transparent;border:none;}QPushButton:hover{image:url(:/images/images/closeHover.png);background: transparent;border:none;}");
    
        msgBtn = new QPushButton(this);
        msgBtn->setGeometry(25,56,44,44);
        if(style == 1)      //警告
            msgBtn->setStyleSheet("QPushButton{image:url(:/images/images/warning.png);background: transparent;border:none;}");
        else if(style == 2)  //提示
            msgBtn->setStyleSheet("QPushButton{image:url(:/images/images/information.png);background: transparent;border:none;}");
        else if(style == 3)  //询问
            msgBtn->setStyleSheet("QPushButton{image:url(:/images/images/question.png);background: transparent;border:none;}");
        else if(style == 4)  //错误
            msgBtn->setStyleSheet("QPushButton{image:url(:/images/images/error.png);background: transparent;border:none;}");
    
        askLabel = new QLabel(this);
        askLabel->setGeometry(95,52,width,50);
        askLabel->setText(text);
        askLabel->setStyleSheet("QLabel{font-family :微软雅黑;font-size:20px;}");
    
        okBtn=new QPushButton(this);
        if(style==3)
            okBtn->setGeometry(90,119,85,30);
        else
            okBtn->setGeometry(135,119,85,30);
    
        okBtn->setText(QStringLiteral("确定"));
        okBtn->setStyleSheet("QPushButton{border:1px groove gray;border-radius:4px;border-color: rgb(139,159,185);}QPushButton:hover{border-radius:4px;background-color: rgb(119,146,183);}QPushButton:pressed{border-radius:4px;background-color: rgb(139,159,185);}");
    
        cancleBtn=new QPushButton(this);
        cancleBtn->setGeometry(187,119,85,30);
        cancleBtn->setText(QStringLiteral("取消"));
        cancleBtn->setStyleSheet("QPushButton{border:1px groove gray;border-radius:4px;border-color: rgb(139,159,185);}QPushButton:hover{border-radius:4px;background-color: rgb(119,146,183);}QPushButton:pressed{border-radius:4px;background-color: rgb(139,159,185);}");
        if(style == 3)
            cancleBtn->show();
        else
            cancleBtn->hide();
    
        connect(okBtn,SIGNAL(clicked()),this,SLOT(okBtn_press()));
        connect(closeBtn,SIGNAL(clicked()),this,SLOT(closeBtn_press()));
        connect(cancleBtn,SIGNAL(clicked()),this,SLOT(cancleBtn_press()));
    
    }
    MsgBox::~MsgBox()
    {
        delete okBtn;
        delete cancleBtn;
        delete closeBtn;
        delete msgBtn;
        delete titleLabel;
        delete askLabel;
    }
    
    void MsgBox::mousePressEvent(QMouseEvent *qevent)
    {
        if(qevent->button() == Qt::LeftButton)
        {
            mouse_press = true;
            //鼠标相对于窗体的位置(或者使用event->globalPos() - this->pos())
            move_point = qevent->pos();;
        }
    }
    void MsgBox::mouseMoveEvent(QMouseEvent *qevent)
    {
        //若鼠标左键被按下
        if(mouse_press)
        {
            //鼠标相对于屏幕的位置
            QPoint move_pos = qevent->globalPos();
            //移动主窗体位置
            this->move(move_pos - move_point);
        }
    }
    void MsgBox::mouseReleaseEvent(QMouseEvent *qevent)
    {
        //设置鼠标为未被按下
        mouse_press = false;
    }
    
    void MsgBox::okBtn_press()
    {
        this->accept();
    }
    void MsgBox::cancleBtn_press()
    {
        this->reject();
    }
    void MsgBox::closeBtn_press()
    {
        close();
    }
    

    调用举例:

    //退出提示框
        if(m_msgBox){
            delete m_msgBox;
        }
        m_msgBox=new MsgBox(3,QStringLiteral("正在试图结束程序"),this);
        if(m_msgBox->exec()==0)
        {
            event->ignore();
            return;
        }
    // 警告框
        if(m_msgBox){
             delete m_msgBox;
         }
         m_msgBox=new MsgBox(1,QStringLiteral("请选择固件文件"),this);
         m_msgBox->exec();
    

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

    图标资源:

    链接:https://pan.baidu.com/s/1BIaY5k394nxavn9BRfWLUQ
    提取码:mlfg

    展开全文
  • qt淡化提示框设计

    2020-10-27 09:43:35
    实现方法: ...QPropertyAnimation以Qt属性做差值,作为属性值存储在QVariants中,该类继承自QVariantAnimation,并支持基类相同的元类型动画。 实现代码如下: void showHintLabel(QWidget *parent,
  • Qt 之透明提示框

    万次阅读 2016-03-31 20:29:18
    简述经常使用企鹅的小伙伴一定对登录失败的提示框很熟悉,主要涉及窗口透明并添加图标、提示信息、关闭按钮的显示等。我们可以利用QWidget创建一个提示框,然后通过样式设置我们想要的效果。简述 效果 源码 样式效果...
  • 自己封装的函数,可以以直接使用 //参数:标题 提示信息 左提示 右 提示 QMessageBox::StandardButton MyMessageBox(QString title, QString message,QString text...{//封装 显示中文提示框 QMessageBox megBox(p...
  • Qt qml 自定义消息提示框

    千次阅读 2017-10-28 16:12:16
    Qt qml 自定义消息提示框   QtQuick有提供比较传统的信息提示框MessageDialog,但是实际开发过程并不 太能满足我们的需求。下面是根据controls2模块中Dialog控件自定义的简单的信息提示框。 可以根据信息的多少...
  • Qt实现冒泡提示框

    2017-07-12 15:26:00
    通过QLabel创建类似冒泡方式的提示框(提示框显示位置为父类控件居中位置,具体可根据需要自行修改),鼠标停留提示框界面时查看信息,离开时自动淡化消失的效果; 头文件定义 #ifndef _TTipWidget_H_ #define _...
  • Qt小提示Demo(三种提示框

    万次阅读 2016-11-22 13:16:00
    Qt的提示功能有3种: 1、自带的部件提示函数setToolTip...3、自定义类和自画提示框 针对每一个提示,分别做了Demo: 1、用Qt部件自带提示函数setToolTip()   效果:   2、QToolTip方法定义单词提示,提升部件:
  • qt之 透明提示框

    2017-05-04 11:13:31
    经常使用企鹅的小伙伴一定对登录失败的提示框很熟悉,主要涉及窗口透明并添加图标、提示信息、关闭按钮的显示等。 我们可以利用QWidget创建一个提示框,然后通过样式设置我们想要的效果。 简述效果源码样式 ...
  • Qt之透明提示框

    2016-03-31 20:29:00
    经常使用企鹅的小伙伴一定对登录失败的提示框很熟悉,主要涉及窗口透明并添加图标、提示信息、关闭按钮的显示等。 我们可以利用QWidget创建一个提示框,然后通过样式设置我们想要的效果。 简述 效果 源码 样式...
  • 最近正在学习Qt,根据实际业务需求花了一天的时候制作了一个消息提示框,仿造126邮箱登录的提示。第一次开源发布代码,还请高手轻拍,并请留下宝贵意见用来完善以及以后制作更多更有趣的插件。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 619
精华内容 247
关键字:

qt提示框