精华内容
下载资源
问答
  • QT 按钮保持按下样式

    千次阅读 2020-04-17 12:54:49
    想要按钮按下后保持press样式下的样式,操作如下: 1、将所有按钮的如下的两个状态均选中 2、在每个按钮的槽函数后面加上setDown()函数,如下我的四个按钮, void radarCom::on_sendBtn_clicked() { ui->...

    通常设置按钮press样式后,当你点击离开后,按钮又恢复成了未按下时的状态。

    想要按钮按下后保持press样式下的样式,操作如下:

    1、将所有按钮的如下的两个状态均选中

    2、在每个按钮的槽函数后面加上setDown()函数,如下我的四个按钮,

    void radarCom::on_sendBtn_clicked()
    {
       ui->SAradarBtn->setDown(false);
        ui->antennaBtn->setDown(false);
        ui->sendBtn->setDown(true);
        ui->receiverBtn->setDown(false);
    }
    设置完成运行就可以看到你要的效果了!

    展开全文
  • Qt按钮qss样式总结

    千次阅读 2019-06-18 13:27:48
    Qt的界面可以通过qss语法优化,相对于MFC方便了很多,不用继承,重写按钮类的相关类和方法,用类似css样式表的语句即可进行美化,UI和主程序无关,例如下面是... 设置了倒角,边框,背景,鼠标停留,按下的效果,qss...

            Qt的界面可以通过qss语法优化,相对于MFC方便了很多,不用继承,重写按钮类的相关类和方法,用类似css样式表的语句即可进行美化,UI和主程序无关,例如下面是一个优化后的按:

                                                                      

            设置了倒角,边框,背景,鼠标停留,按下的效果,qss语句如下:

    QPushButton
    {  
        /* 前景色 */  
        color:green;  
    
        /* 背景色 */  
        background-color:rgb(223,223,223);  
    
        /* 边框风格 */  
        border-style:outset;  
    
        /* 边框宽度 */  
        border-width:0.5px;  
    
        /* 边框颜色 */  
        border-color:rgb(10,45,110);  
    
        /* 边框倒角 */  
        border-radius:10px;  
    
        /* 字体 */  
        font:bold 14px;  
    
        /* 控件最小宽度 */  
        min-width:100px;  
    
        /* 控件最小高度 */  
        min-height:20px;  
    
        /* 内边距 */  
        padding:4px;  
    } 
    
    /* 鼠标按下时的效果 */ 
    QPushButton#pushButton:pressed 
    {  
        /* 改变背景色 */  
        background-color:rgb(40,85,20);  
    
        /* 改变边框风格 */  
        border-style:inset;  
    
        /* 使文字有一点移动 */  
        padding-left:6px;  
        padding-top:6px;  
    }
    
    /* 按钮样式 */ 
    QPushButton:flat 
    {  
        border:2px solid red;  
    } 
    
    /*鼠标悬浮时的效果*/
    QPushButton:hover
    {
        color:#0000ff;
        background-color:rgb(210, 205, 205); /*改变背景色*/
        border-style:inset;/*改变边框风格*/
        padding-left:8px;
        padding-top:8px;
    }
    
    

           如果有很多按钮,要每个按钮的样式都不同,可以在界面统一设置样式,不同的样式单独设置,不过要加上按钮的ID,例如在QPushButton后加上#myButton:

    /*鼠标悬浮时的效果*/
    QPushButton#myButton:hover
    {
        color:#0000ff;
        background-color:rgb(100, 100, 20); /*改变背景色*/
        border-style:inset;/*改变边框风格*/
        padding-left:8px;
        padding-top:8px;
    }
    

        如果公司有美工,可提供三态图片,那更方便,直接用背景图片修改,qss代码如下:

    /*正常显示*/
    QPushButton
    {
        background-image:url(":/demo/pictures/1.png");
    }
     
    /*鼠标悬浮*/
    QPushButton:hover
    {
        background-image:url(":/demo/pictures/2.png");
    }
    
    /*按钮按下*/
    QPushButton:pressed
    {
    	background-image:url(:/demo/pictures/3.png)
    }

     

    展开全文
  • Qt--样式表设置按钮样式

    万次阅读 多人点赞 2018-04-25 15:37:44
    通过样式表来设置按钮的样子,包含正常显示状态,按下状态,悬停状态,这是设置当前窗口下全局的按钮,可以根据自己需要进行修改。   setStyleSheet( //正常状态样式 "QPushButton{" "...

    按钮样式表设置:

    通过样式表来设置按钮的样子,包含正常显示状态,按下状态,悬停状态,这是设置当前窗口下全局的按钮,可以根据自己的需要进行修改。

     

      setStyleSheet(
                       //正常状态样式
                       "QPushButton{"
                       "background-color:rgba(100,225,100,30);"//背景色(也可以设置图片)
                       "border-style:outset;"                  //边框样式(inset/outset)
                       "border-width:4px;"                     //边框宽度像素
                       "border-radius:10px;"                   //边框圆角半径像素
                       "border-color:rgba(255,255,255,30);"    //边框颜色
                       "font:bold 10px;"                       //字体,字体大小
                       "color:rgba(0,0,0,100);"                //字体颜色
                       "padding:6px;"                          //填衬
                       "}"
                       //鼠标按下样式
                       "QPushButton:pressed{"
                       "background-color:rgba(100,255,100,200);"
                       "border-color:rgba(255,255,255,30);"
                       "border-style:inset;"
                       "color:rgba(0,0,0,100);"
                       "}"
                       //鼠标悬停样式
                       "QPushButton:hover{"
                       "background-color:rgba(100,255,100,100);"
                       "border-color:rgba(255,255,255,200);"
                       "color:rgba(0,0,0,200);"
                       "}");

    效果:

    如果想设置单个的按钮样式,则把开始的一行修改成:

     

    ui->pushButton_2->setStyleSheet(
                                       //正常状态样式

    通过UI指向按钮进行修改样式表就可以了。

     

    实现换肤:

    在Qt的中也可以通过把样式表的内存存储到文件中,再进行读取设置,就可以实现进行换肤的功能:

     

     //这是在Qt的资源下的文件,可以不用在资源下
        QFile file(":/my.qss");
        //只读方式打开文件
        file.open(QFile::ReadOnly);
        //读取文件的所有内容,并转换成QString类型
        QString styleSheet = tr(file.readAll());
        //设置样式表
        setStyleSheet(styleSheet);

     

    展开全文
  • 原本qspinbox和qtimeedit等控件样式图: 加和减箭头都放在了右侧,而且比较小,点起来非常不方便。而且现在又是往一个7寸屏幕板子上写应用程序,这种样式的qspinbox确实不符合要求。我想要是样式是,...

    网上介绍qss的的文章真心的很少,搜遍的国内外网站,找到了qspinbox,qtimeedit等控件的stylesheet样式方法。

    原本的qspinbox和qtimeedit等控件样式如下图:


    加和减的箭头都放在了右侧,而且比较小,点起来非常的不方便。而且现在又是往一个7寸屏幕的板子上写应用程序,这种样式的qspinbox确实不符合要求。我想要是样式是,把上下的箭头放到左侧和右侧,分别对应加和减,这样按钮比较大,操作起来就比较方便了。

    其实对于qss我挺有信心,知道怎么去更改样式,但是不知道对谁更改样式。比如qspinbox要更改上下箭头的样式,就得用选择器选择它们,然后给他们定样式。这种在控件里面的上下箭头叫做子控件,很多时候是不知道子控件叫什么。比如qtableview的表头,就是它的子控件,不知道名字,没法应用样式,网上介绍的也都是简单的例子。

    后来在老外的论坛上找到了,qspinbox的子控件名字,也就是上下哪两个箭头分别叫:up-button和down-button。把我的QSS样式代码贴到下面,大家可以参考,效果如下图:

    原理和qradiobutton样式化一样,就是替换按钮按下和抬起的图片,我用的是宽12px,高20px,效果比较赞,很符合我的要求

    /*spinbox 抬起样式*/
    QTimeEdit::up-button,QDoubleSpinBox::up-button,QSpinBox::up-button {subcontrol-origin:border;
        subcontrol-position:right;
        image: url(:/ico/up_right.png);
        width: 12px;
        height: 20px;       
    }
    QTimeEdit::down-button,QDoubleSpinBox::down-button,QSpinBox::down-button {subcontrol-origin:border;
        subcontrol-position:left;
        border-image: url(:/ico/up_left.png);
        width: 12px;
        height: 20px;
    }
    /*按钮按下样式*/
    QTimeEdit::up-button:pressed,QDoubleSpinBox::up-button:pressed,QSpinBox::up-button:pressed{subcontrol-origin:border;
        subcontrol-position:right;
        image: url(:/ico/pushed_right.png);
        width: 12px;
        height: 20px;       
    }
      
    QTimeEdit::down-button:pressed,QDoubleSpinBox::down-button:pressed,QSpinBox::down-button:pressed,QSpinBox::down-button:pressed{
        subcontrol-position:left;
        image: url(:/ico/pushed_left.png);
        width: 12px;
        height: 20px;
    }

    转自:https://bbs.csdn.net/topics/391821571?page=1

     

    QSpinBox{
     height:30px;
     width:30px;
    }

    QSpinBox::up-button
    {
     background-image:url(:/images/scroll_up.png);
     height: 15px;
    }
    QSpinBox::down-button{
        background-image:url(:/images/scroll_down.png);
     height: 15px;
    }

     

    表 2. 子部件列表
    子部件    描述
    ::down-arrow    combo box或spin box的下拉箭头
    ::down-button    spin box的向下按钮
    ::drop-down    combo box的下拉箭头
    ::indicator    checkbox、radio button或可选择group box的指示器
    ::item    menu、menu bar或status bar的子项目
    ::menu-indicator    push button的菜单指示器
    ::title    group box的标题
    ::up-arrow    spin box的向上箭头
    ::up-button    spin box的向上按钮

    展开全文
  • 其中,QPushuButton为按钮的类名,如图所示,可在右上角对象查看器中查看(注意是类名,而不是对象名) 二、更改背景图片 1、新建后缀为 .qrc文件(如pic.qrc),文件写入如下内容: <RCC&gt...
  • 一、简述在上一篇 Qt 之 去除窗口部件被选中后的焦点虚线框 中,我们为了去除焦点虚线框,给按钮的样式加上了如下的样式。QPushButton { background:red; border:0px; }这样导致鼠标点击按钮之后没有按下凹陷的...
  • 以QPushButton为例,设置按钮的图标可以使用函数setIcon,设置图标大小使用setIconSize。 ...这种方式有个缺点就是不能为不同状态(如按下按钮)设置不同图标,而且也没办法设置图标与文字...
  • QT设置右角悬浮按钮

    千次阅读 2019-11-25 23:19:25
    今天做了一个QT悬浮按钮的样式,有几个比较重要的点,记录一下 首先,要求是设置一个悬浮的按钮,当鼠标移动到该窗体时,按钮显示;鼠标移出该窗体时,按钮隐藏。最重要的点是,按钮不能破坏之前的界面布局。 思路...
  • 按钮的三态,指是普通态、鼠标悬停态、按下态。Qt中如果使用是默认按钮,三态效果是有,鼠标放上去会变色,点击时候有凹陷效果。 但是如果自定义按钮实现三态效果有三种方法,一种是设置背景图,主要...
  • Qt 按钮控件虚线框

    2021-04-23 15:24:54
    点选按钮,使用 Tab 键在界面中切换, 会发现一旦切换到按钮上会附带一个虚线框,如图所示 解决措施 1,在样式表中添加如下一行代码即可解决空间中获取焦点出现虚线框问题。 /*remove all QWidget's focus ...
  • QPushButton:文本按钮、icon+文本样式的按钮、菜单按钮、默认按钮、重复触发按钮、特定形状按钮; QToolButton:常用在工具栏中,文本在上,icon在下样式样式按钮,点击时还会出现图片错位效果,使用范围受限; 单选...
  • Qt设置美观按钮

    千次阅读 2017-02-09 16:03:55
    一、简述在上一篇Qt 之 去除窗口部件被选中后的焦点虚线框中,我们为了去除焦点虚线框,给按钮的样式加上了如下的样式。QPushButton { background:red; border:0px; }这样导致鼠标点击按钮之后没有按下凹陷的反馈...
  • 按钮可以任意摆放图片和文字位置和距离,同时可以用QSS设置按钮内图片、文字、整个按钮的样式表效果,也就是说,可以实现鼠标划过、鼠标选中等样式表,跟原来QPushbutton的样式表效果一模一样! ...
  • Qt Creator中,拖动一个widget,ID为mousewidget,拖动一个按钮,名称为鼠标点击,ID为...鼠标的样式再次改变(样式3),当按下左键和拖动释放时,鼠标的样式恢复(样式2),再移出widget后,鼠标样式恢复(样式1)。
  • Qt按钮设置圆角【实现及效果】

    千次阅读 2020-12-04 11:03:58
    // 设置按钮样式及悬浮、按下状态 ui->pushButton->setStyleSheet("QPushButton{background-color: rgb(225, 225, 225);border:2px groove gray;border-radius:10px;padding:2px 4px;border-style: ...
  • 默认 / 更改后,上下两个箭头分别叫:up-button和down-button 1.子部件列表 描述 ::down-arrow combo box或spin ...::down-button spin box下按钮 ::drop-down combo box下拉箭头 ::indicator check...
  • Qt实现不规则按钮

    千次阅读 2019-04-19 20:09:20
    公司有需求让我做一个能控制xyz轴控制面板,同事不知如何做一个好看不规则按钮,这里教大家一个简便方法。...2.然后设置css样式表,让鼠标移上去有反应,按下也有反应,css样式不说了,网...
  • QT批量实现单选按钮组 目录 1 应用场景... 1 2 实现方案... 1 1 应用场景 筛选条件过多时,会有多个条件筛选,选择样式按钮形式,不是那种勾选。如图所示,单选条件,有多选项, 每一个条件只能...
  • qt 禁止alt+f4在某些情况我们需要防止用户单击窗口标题栏中关闭按钮关闭 MFC 应用程序。可以删除窗口WS_SYSMENU 样式, 但是,这样最大化最小化和还原按钮也被删除,并且无法添加。 这是Windows设计依据。...
  • 本代码主要总结一个自定义按钮,该按钮布局是上面图片下面文字,其中,可以自定义样式,当鼠标分别移入、移出、摁自定义按钮时,自动改变自定义按钮图片。可以任意设置图片中文字和图片位置、以及鼠标移入、...
  • 在做项目时,经常用到QPushButton,这次想设计成类似iphone开关按钮的样式。通过自定义Button类继承QPushButton类,重写paintEvent方法重绘按钮图形和重写mousePressEvent鼠标点击事件。 效果图: 步骤: 1、在...
  • 本博客主要总结用QSS(qt Style Sheet/qt样式表)来设置QPushButton背景色和字体颜色用法。 在Qt中,常用控件都可以用QSS来设置颜色和背景,下面本文将举一个实例,示范QSS用法。本文实例主要内容是,设置两个...
  • 之前有一篇文章提到QSS工具,所以利用空闲时间,整理一下QSS的样式效果,一直补充吧;...QSS可以调节控件在不同状态下的样式,比如输入移入,鼠标移出,鼠标按下,鼠标松开; 以QPushButton举例: ...
  • 以往我都是在个别按钮上单击修改样式表,通过此次案例学到通过在主界面统一设置样式表。 即对主界面空白处单击右键,选择改变样式表: 代表窗口内所有布件 QPushButton { #指定布件改变样式表 } QPushButton:...

空空如也

空空如也

1 2 3 4 5
收藏数 93
精华内容 37
关键字:

qt按钮按下的样式