首页 > 其他分享 >QML::自绘基础控件

QML::自绘基础控件

时间:2024-04-13 11:13:37浏览次数:16  
标签:控件 自绘 bckcolor container QML text Layout font

自绘基础控件

1.01 Button,对属性进行封装,如字体、背景颜色、前景文字显示、(选择、悬停、按下)状态变化。 对外提供必要的设置属性。
import QtQuick 2.0
import QtQuick.Controls 2.5
import QtGraphicalEffects 1.12
Button {
    id: container
    // 提供对外字段属性
    property string bckcolor: "#1AAD19"
    property string bckHoverColor: Qt.lighter(bckcolor, 0.8)
    property int backRadius: 2

    // 设置字体
    font.family: "Microsoft Yahei"
    font.pixelSize: 20
    // implicitwidth:此属性表示控件的隐式推荐宽度,即在没有明确指定width时,控件希望占据的空间大小
    implicitWidth: text.contentWidth + 24
    implicitHeight: text.contentHeight + 8
    // contentItem用于自定义控件并用文本替换视觉前景元素的现有实现。
    contentItem: Text {
        id: text
        text: container.text
        font: container.font
        color: "#fff"
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
    }
    // 选中、悬浮、按下背景变化
    background: Rectangle {
        anchors.fill: parent
        radius: backRadius
        color: container.down ? bckcolor :
                 container.hovered ? bckHoverColor : bckcolor

        layer.enabled: true
        layer.effect: DropShadow {
           color: bckcolor
        }
    }
}
 RowLayout {
        spacing: 20
        BaseButton {
            text: "Blue"
            Layout.preferredHeight: 28
            Layout.preferredWidth: 78
            font.pixelSize:  14
            backRadius: 4
            bckcolor: "#4785FF"
        }

        BaseButton {
            bckcolor: "#EC3315"
            Layout.preferredHeight: 28
            Layout.preferredWidth: 78
            font.pixelSize:  14
            backRadius: 4
            text: "Red"

        }

        BaseButton {
            text: "Yellow"
            Layout.preferredHeight: 28
            Layout.preferredWidth: 78
            font.pixelSize:  14
            backRadius: 4
            bckcolor: "#ED9709"
        }
    }

image

标签:控件,自绘,bckcolor,container,QML,text,Layout,font
From: https://www.cnblogs.com/osbreak/p/18129448

相关文章

  • Devexpress 控件学习记录(一:BarManager 控件、XtraTabbedMdiManager 控件)
    BarManager控件最终实现的效果如下:首先在窗体中拖出BarManager控件,窗体Baradd地方点击添加设置BarManager的属性设置出现的窗体的底部【DockStyle=Bottom】点击AddDropDownMenu添加下拉菜单出现下拉菜单设置下拉菜单中的子菜单选中下拉菜单,然后点击下面的Add......
  • 界面控件DevExpress WinForms/WPF v23.2 - 富文本编辑器支持内容控件
    众所周知内容控件是交互式UI元素(文本字段、下拉列表、日期选择器),用于在屏幕上输入和管理信息。内容控件通常在模板/表单中使用,以标准化文档格式和简化数据输入。DevExpress文字处理产品库(WordProcessingDocumentAPI、WinForm和WPF富文本编辑器)附带了内容控制支持(v23.2+)。具......
  • 2024年4月9日-UE5-控件切换器、多存档、存档日期、游戏时长
    加入多存档,和每个存档的时间 打开UI登录界面,选中画布,包裹一个控件切换器 选中控件,改名,是变量 再新建一个画布,拖到控件切换器里,把之前的改名默认画布,新建的叫读档画布 复制一个背景模糊到读档画布里 打开“继续游戏”这个按钮,在他后面添加点击后切换到读档画布的指......
  • 嵌入式设备(T507)运行qml程序提示module is not installed
    T507设备中运行qml编写的程序,提示module未安装,如下图。这是因为程序运行时未找到QML库导致的,需要在qtenv.sh文件或者系统环境变量中导出QML库在嵌入式设备文件系统中的位置,修改后如下:1exportQML2_IMPORT_PATH=$QT_ROOT/qmlqtenv.sh文件完整内容如下:1exportQTDIR=/u......
  • 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss
    往期回顾【QT入门】Qt自定义控件与样式设计之qss介绍(Qtstylesheet)-CSDN博客【QT入门】Qt自定义控件与样式设计之qss选择器-CSDN博客【QT入门】Qt自定义控件与样式设计之QLineEdit的qss使用-CSDN博客 【QT入门】Qt自定义控件与样式设计之QPushButton常用qss这里我......
  • 【QT入门】 Qt自定义控件与样式设计之QCheckBox qss实现按钮开关
    往期回顾【QT入门】Qt自定义控件与样式设计之QPushButton常用qss-CSDN博客【QT入门】Qt自定义控件与样式设计之QPushButton实现鼠标悬浮按钮弹出对话框-CSDN博客【QT入门】Qt自定义控件与样式设计之QComboBox样式表介绍-CSDN博客 【QT入门】Qt自定义控件与样式设计之......
  • 界面控件DevExtreme JS & ASP.NET Core 2024年度产品规划预览(二)
    在本文中我们将介绍今年即将发布的v24.1附带的主要特性,这些特性既适用于DevExtreme JavaScript(Angular、React、Vue、jQuery),也适用于基于DevExtreme的ASP.NETMVC/Core控件。注意:本文中列出的功能和特性说明官方当前/预计的发展计划,此信息仅供参考之用,其中列出的功能/产品可......
  • ACCESS TreeView控件的使用
    一.在窗体的设计模式下,选择ActiveX控件,然后找到 MicrosoftTreeViewControl6.0(SP6),确定 二.数据表的设计.重点在处理NodeID与ParentNodeID这两个字段的关系上.  三.TreeView数据的加载.下图是TreeView控件的所有事件.可以看到它本身是没有专用的加载事件的.需要在......
  • Avalonia中的自绘控件
    在构建用户界面时,控件扮演着至关重要的角色。它们不仅负责展示内容,还处理用户的交互。然而,有时标准的控件库可能无法满足我们的需求,这时自绘控件就显得尤为重要。在AvaloniaUI框架中,自绘控件允许我们完全掌控控件的渲染逻辑,实现高度自定义的UI元素。本文将深入探讨自绘控件的概念......
  • 【QT教程】QT6 QML编程
    QT6QML编程使用AI技术辅助生成QT界面美化视频课程QT性能优化视频课程QT原理与源码分析视频课程QTQMLC++扩展开发视频课程免费QT视频课程您可以看免费1000+个QT技术视频免费QT视频课程QT统计图和QT数据可视化视频免费看免费QT视频课程QT性能优化视频免费看免......