精华内容
下载资源
问答
  • Qt中设置按钮或QWidget的外观是,可以使用QT Style Sheets来进行设置,非常方便。 可以用setStyleSheet(“font: bold; font-size:20px; color: rgb(241, 70, 62); background-color: green”);来进行设置,其他的...

    1.首先大致介绍一下setStyleSheet函数的作用:

    Qt中设置按钮或QWidget的外观是,可以使用QT Style Sheets来进行设置,非常方便。
    可以用setStyleSheet(“font: bold; font-size:20px; color: rgb(241, 70, 62); background-color: green”);来进行设置,其他的样式介绍如下:
    font: bold; 是否粗体显示
    border-image:""; 用来设定边框的背景图片。
    border-radius:5px; 用来设定边框的弧度。可以设定圆角的按钮
    border-width: 1px; 边框大小
    font-family:""; 来设定字体所属家族,
    font-size:20px; 来设定字体大小
    font-style:""; 来设定字体样式
    font-weight:20px; 来设定字体深浅
    background-color: green; 设置背景颜色
    background:transparent; 设置背景为透明
    color:rgb(241, 70, 62); 设置前景颜色
    selection-color:rgb(241, 70, 62); 用来设定选中时候的颜色

    可以使用border-top,border-right,border-bottom,border-left分别设定按钮的上下左右边框,
    同样有border-left-color, border-left-style, border-left-width.等分别来设定他们的颜色,样式和宽度

    2.本次想要实现的效果就是按钮控件点击实现背景图片的来回切换,两种背景图片,在点击按钮控件的时候来回切换,类似与输入法上的中英文切换键一样,下面上代码:
    btn_language = new QPushButton();//在头文件中声明
    btn_language->setFixedSize(keyboard_btn_width, keyboard_btn_height);
    btn_language->setStyleSheet(“QPushButton{background-image:url(:/image/res/EN-CH.png);”
    “background-repeat: no-repeat;background-position: center;”
    “background-attachment: fixed;background-attachment: fixed;”
    “background-attachment: fixed;;background-clip: padding}”);
    connect(btn_language, &QPushButton::clicked, this, &CKeyboardForm::btnLanguageClicked);
    //设定按钮的背景图片,background-repeat可以设定背景图片的重复规则,这里设定为no-repeat,即不重复。
    //background-position用来设定图片的位置,是左(left)还是右(right),还是在中间(center),是上(top)还是底部(bottom)。
    //background-attachment用来这定背景图片是否卷动或者和窗口大小相匹配,默认是卷动的。

    以上只是实现了按钮控件的背景图片显示,并没有实现切换。关于背景图切换我的思路是在按钮控件绑定的槽函数中进行相关操作,定义一个static flag,每点击一次按钮就就行判断flag的奇偶性,根据不同的情况来进行相关按钮控件的显示。下面给出的参考代码是通过对按钮的输入模式(中英文)进行判断的。
    void CKeyboardForm::btnLanguageClicked()
    {
    if(m_eCurrentMode == InputMode::zh)
    {
    btn_language->setStyleSheet(“QPushButton{background-image:url(:/image/res/EN-CH.png);”
    “background-repeat: no-repeat;background-position: center;”
    “background-attachment: fixed;background-attachment: fixed;”
    “background-attachment: fixed;;background-clip: padding}”);
    m_eCurrentMode = InputMode::en;
    }
    else if(m_eCurrentMode == InputMode::en)
    {
    btn_language->setStyleSheet(“QPushButton{background-image:url(:/image/res/CH-EN.png);”
    “background-repeat: no-repeat;background-position: center;”
    “background-attachment: fixed;background-attachment: fixed;”
    “background-attachment: fixed;;background-clip: padding}”);
    m_eCurrentMode = InputMode::zh;
    }
    }

    展开全文
  • 版本:Qt5.12.5 ,参考Qt源码及文档示例 代码链接:https://github.com/gongjianbo/QmlComponentStyle.git 自定义样式与默认样式的对比: 扁平样式的实现代码: import QtQuick 2.12 import QtQuick....

    版本:Qt5.12.5 ,参考Qt源码及文档示例

    代码链接:https://github.com/gongjianbo/QmlComponentStyle.git  

    自定义样式与默认样式的对比:

    扁平样式的实现代码:

    import QtQuick 2.12
    import QtQuick.Templates 2.12 as T
    import QtQuick.Controls 2.12
    import QtQuick.Controls.impl 2.12
    
    //qtquickcontrols2\src\imports\controls\Button.qml
    //from Customizing Button
    T.Button {
        id:control
    
        //可以像源码一样,定义一个全局的样式,然后取全局样式中对应的颜色
        //checked选中状态,down按下状态,hovered悬停状态
        property color textColor: "white"
        property color backgroundTheme: "darkCyan"
        property color backgroundColor: control.down
                                        ? Qt.darker(backgroundTheme)
                                        : (control.hovered||control.highlighted)
                                          ? Qt.lighter(backgroundTheme)
                                          : control.checked
                                            ? backgroundTheme
                                            : backgroundTheme
        property int radius: 0     //背景rect的圆角
    
        //源码中
        /*implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
                                implicitContentWidth + leftPadding + rightPadding)
        implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
                                 implicitContentHeight + topPadding + bottomPadding)*/
        implicitWidth: 90
        implicitHeight: 30
        leftPadding: 5
        rightPadding: 5
        spacing: 5
        //checkable: true
        font{
            family: "SimSun"
            pixelSize: 16
        }
    
        //icon.width: 24
        //icon.height: 24
    
        //按钮中显示的内容
        //源码用的impl里的IconLabel,但是这个不能单独设置renderType: Text.NativeRendering
        contentItem: Row{
            id:btn_row
            width: control.width
            spacing: control.spacing
            Image {
                id:btn_icon
                anchors{
                    verticalCenter: parent.verticalCenter
                }
                source: control.icon.source //借用icon的接口
            }
            Text{
                id:btn_text
                anchors{
                    verticalCenter: parent.verticalCenter
                }
                width: btn_icon.width
                       ? btn_row.width-btn_row.spacing-btn_icon.width
                       : btn_row.width
                text: control.text
                color: control.textColor
                renderType: Text.NativeRendering
                verticalAlignment: Text.AlignVCenter
                horizontalAlignment: Text.AlignHCenter
                //wrapMode: Text.NoWrap
                elide: Text.ElideRight
                font: control.font
            }
        }
    
        //背景
        background: Rectangle{
            implicitWidth: control.implicitWidth
            implicitHeight: control.implicitHeight
            radius: control.radius
            //visible: !control.flat || control.down || control.checked || control.highlighted
            color: control.backgroundColor
        }
    }
    
    //main.qml
            Row{
                id:button_row
                spacing: 10
                Text {
                    width: 90
                    height: 30
                    renderType: Text.NativeRendering
                    text: "Button:"
                }
                Button{
                    text: "Button"
                    width: 120
                    height: 30
                }
                BasicButton{
                    text: "Button"
                    textColor: "white"
                    backgroundTheme: "green"
                }
                BasicButton{
                    text: "Basic Button"
                    icon.source: "qrc:/fire.png"
                    textColor: "white"
                    radius: 3
                    backgroundColor:  down
                                      ? Qt.darker("purple")
                                      : (hovered||highlighted)
                                        ? Qt.lighter("darkCyan")
                                        : checked
                                          ? Qt.lighter("darkCyan")
                                          : "red"
                }
                BasicButton{
                    width: 200
                    text: "Basic Button"
                    icon.source: "qrc:/fire.png"
                    textColor: "white"
                    radius: 3
                    backgroundTheme: "red"
                }
            }
    

     

     

    展开全文
  • QML 自定义button样式1

    千次阅读 2015-03-29 15:07:30
    QML 自定义button样式1 自己写的小按键,默认状态是: 点击一下: 动态图: (好像也不能动态显示....) 使用时可以这样: FenceButton{  id:fenceBotton;  x:5;  initX:5;  anchors.left: ...


    QML 自定义button样式1


    此博客始创于:http://blog.csdn.net/lys211

    转载请注明出处



    自己写的小按键,默认状态是:



    点击一下:




    动态图:


    (好像也不能动态显示....)

    动态图请跳转到以下地址浏览:

    http://www.qtcn.org/bbs/read-htm-tid-58622.html


    使用时可以这样:


    FenceButton{
      id:fenceBotton;
      x:5;
      initX:5;
      anchors.left: parent.left;
      anchors.verticalCenter: parent.verticalCenter;
      lineColor: root.lineColor;
      lineState:  "default";
      easyBorderWidth: root.easyBorderWidth;
      easyHeight:root.easyHeight;
      height: parent.height;
      onClicked: {
        console.log("FenceButton onClicked")
        if(lineState === "default"){
          lineState = "extend";
        }
        else{
          lineState = "default"
        }
      }
    }

    改改就能用.


    这个按键对应的源码下载地址是:

    http://download.csdn.net/detail/lys211/8544281




    展开全文
  • qml button 样式设置 布局设置

    qml 开发很方便的定做控件样式,修改控件属性。以前没有接触过qml开发, 从零开始学习qml

    qml的优点在于随心所欲的定义控件属性,学习qml,qt 助手是很实用的工具,关于控件属性,助手会有解释,以及实用的例子。在qt 安装目录会有很多现成的样式设置例子,利用里面的例子,修改UI效果,也比较方便。
    qml 助手关于buttonstyle介绍如下:


    Button属性设置的例子:


    可以在背景中插入图片,方便识别按钮功能,设置背景图片使用Image控件,设置图片路径。直接设置背景颜色,点击效果

    1.
    background: Rectangle {
    Image {
    
    
                fillMode: Image.PreserveAspectCrop
                anchors.fill: parent
                source: "./background.jpg"
            }}2.按钮点击颜色
    
    background: Rectangle {
            color: !control.pressed ? "	white" : "palegreen"
            radius: 8
            border.color: "black"
            border.width: 2    }
    控件布局设置

    1.row  行排列  Colunum

    2、边界设置

    3、锚布局 


    展开全文
  • QT样式

    2019-08-26 22:23:38
    窗体去掉边框 ...windowFlags() | Qt::FramelessWindowHint); 给窗体设置遮罩 this->setWindowFlags(Qt::FramelessWindowHint); 去掉窗口 和背景 this->setAttribute(Qt::WA_TranslucentBac...
  • QT设置ToolButton按钮的样式

    千次阅读 2016-01-11 16:03:27
    QToolButton{   min-width:80px;   min-height:32px;  }  QToolButton{  color:rgb(255, 255, 255);  min-height:20;  border-style:solid;  border-top-left-radius:2px;...border-top-right-
  • QSS样式表简介在Qt中,提供了一种叫做Qt样式表(简称QSS)的自定义控件外观机制,QSS的思想很大程度上是来自于HTML的层叠式样式表(CSS), 它大量参考了CSS的内容,其语法也和CSS类似,使用QSS可以使界面美化部分和代码...
  • QT 样式

    2020-09-23 00:05:12
    使用setStyleSheet来进行设置Button样式实例以及源代码、QT样式表属性完整版、QT系统字体、程序示例以及完整原始代码、启动动画示例、QT为按钮、标签添加图片的几种方法、QButton弹出菜单、QT界面换肤解决方案和解决...
  • 1.自定义控件 新建一个QML文件,命名为...import QtQuick 2.0   Rectangle { id: btn; width: 200; height: 40; color: "red"; property string btnName: ""; sig...
  • 默认 / 更改后,上下的两个箭头分别叫:up-button和down-button 1.子部件列表 描述 ::down-arrow combo box或spin box的下拉箭头 ::down-button spin box的向下按钮 ::drop-down combo box的下拉箭头 ::...
  • Qt 精美的button合集

    千次阅读 2018-11-23 16:14:17
    Qt 精美的button合集,qss QPushButton,界面美化
  • Qt样式

    2019-07-25 11:45:13
    * :unchecked button部件未被选中 * :indeterminate checkbox或radiobutton被部分选中 * :on 部件可以切换,且处于on状态 * :off 部件可以切换,且处于off状态 */ ui->pushButton->setStyleSheet("QPushButton...
  • Qt样式Qt样式表是一种强大的机制,允许你自定义widget的外观。另外还有一种是子类化QStyle。Qt样式表的概念,术语和语法受到了CSS的很大影响但是同样适用于widgets. 专题: 概述 样式表语法 Qt Designer集成 使用...
  • Qt样式

    2017-03-03 09:02:43
    导语 一个完善的应用程序不仅应该有实用的功能,...Qt样式表是一个可以自定义部件外观的十分强大的机制。Qt样式表的概念、术语和语法都受到了HTML的层叠样式表(Cascading StyleSheets,CSS)的启发,不过与CSS
  • Qt4样式

    千次阅读 2014-09-25 11:56:18
    [翻译][Qt Quaterly]通过Qt4.2样式表定制程序外观 本文翻译自Qt季刊(Qt Quaterly)第20期。 原文地址: http://doc.trolltech.com/qq/qq20-qss.html 译文地址: ... 贴到论坛后,格式有点混乱,图片也没了,可以到...
  • QT样式

    2021-02-03 14:55:05
    QT样式表 一、QT样式表简介 1、QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离,使得设计皮肤与界面控件分离的软件成为可能。 QT样式表是允许用户定制widgets组件外观的强大机制,此外,子类化...
  • 1.button/edit/label/widget等样式更改。 2.去除窗口标题,自绘标题栏并实现最小最大关闭功能。 3.支持手动修改颜色值,设置后查看效果。 补充说明:颜色风格和使用方法感谢网上的各路大神,我这边只是做了简单的...
  • I would like to have an invisible button, but when the user hovers the mouse on it, I would like to have a light blue color, and when he clicks it, I would like to have a darker blue.After I did some ...
  • Qt浅谈之二十二Qt样式

    万次阅读 多人点赞 2015-04-10 09:36:08
    不断总结好的样式表,美化自己的界面(在实际工作中会不断的更新)。 二、详解 1、加载样式表文件 QFile file(":/qss/stylesheet.qss"); file.open(QFile::ReadOnly); QString styleSheet = QLatin1String...
  • 初学QML的时候,遇到了一些问题,参考这篇文章,实现了按钮的正常、鼠标经过和鼠标按下的图片切换。...import QtQuick 2.0 import QtQuick.Controls 1.4 import QtQuick.Controls.Styles 1.4 Butto...
  • Qt样式表详解

    千次阅读 2019-06-26 11:27:47
    一、QT样式表简介 1、QT样式表简介 QSS的主要功能是使界面的表现与界面的元素分离,使得设计皮肤与界面控件分离的软件成为可能。 QT样式表是允许用户定制widgets组件外观的强大机制,此外,子类化QStyle也可以...
  • Qt样式表总结

    2020-02-17 20:54:21
    QSS称为Qt Style Sheets也就是Qt样式表,它是Qt提供的一种用来自定义控件外观的机制。QSS大量参考了CSS的内容,只不过QSS的功能比CSS要弱很多,体现在选择器要少,可以使用的QSS属性也要少很多,并且并不是所有的...
  • Qt4下的自定义Button控件源码,将生成的.so控件库,拷贝到QtDesigner目录下,在QtDesignerIDE开发环境中就可以看到Button控件

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,528
精华内容 1,811
关键字:

button样式qt