20200526-01 QML 基于 Qt Quick Templates 2 模板重构控件教程

一、前言

Qt Quick Template2 提供了大量非虚模板控件
import QtQuick.Templates 2.15 as T
官方网页

二、以 TabButton 为例


/* !注意:本控件专为 Troika 项目创建,不具备通用性 */ 
import QtQuick 2.14 
import QtQuick.Controls 2.14
import QtQuick.Controls.impl 2.14 
import QtQuick.Templates 2.14 as T 
T.TabButton { 
    id: control
    implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding) 
    implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding) 
    
    padding: 6 
    spacing: 6

    icon.width: 24
    icon.height: 24 
    icon.color: checked ? control.palette.windowText : control.palette.brightText 
    
    contentItem: IconLabel {
        spacing: control.spacing 
        mirrored: control.mirrored 
        display: control.display 
        icon: control.icon 
        text: control.text
        font: control.font
        color: control.checked ? "white" : "black"
    } 

    background: Rectangle { 
        implicitHeight: 40 
        color: control.checked ? "#338074" : "#d1d1d1" 
        radius: 5
        border.width: 1
        border.color: "#babcbc"
    }
}

其实,可以根据个人需求,实际修改任何东西,此只是一个样例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值