样式化 Qml 桌面组件

Posted

技术标签:

【中文标题】样式化 Qml 桌面组件【英文标题】:Styling Qml desktop components 【发布时间】:2014-09-30 14:19:26 【问题描述】:

目前我正在开发一个支持触摸屏显示的桌面应用程序。我在 Qt 4.8 和 OpenSUSE 13.1 上使用 QML(由于依赖原因,我无法升级 Qt 或操作系统)

由于缺少主要组件,我使用qml desktop component。但是,我没有找到一种方便地设置样式的方法,比如使用 CSS。像改变按钮的颜色,改变边框......看起来很复杂

我已阅读Qml styling guide、Qml integrating guide,但找不到满意的答案。

感谢任何想法:)

【问题讨论】:

如果我们不确切知道您想做什么,就很难回答。 “为组件设置样式”太模糊了。 抱歉回复晚了,有点像QLineEdit, QPushButton...QLineEdit, QPushButton...等GUI组件上的CSS效果 【参考方案1】:

对不起我的英语, 您可以为每种类型制作特定的 qml 对象,就像这样

TimesItalic.qml

Text
     FontLoader 
         id:timesNewRomanItalic;
         source:"qrc:/Assets/Fonts/times_italic"
         onStatusChanged: console.log("Font loaded " + name)
     

     font.family: timesNewRomanItalic.name
     color : "#FFFFFF"
 

并在每次需要时调用此 qml 对象

TimesItalic
    id:myText
    anchors.fill:parent
    text: "Times new roman italic"

(此示例未优化)

【讨论】:

以上是关于样式化 Qml 桌面组件的主要内容,如果未能解决你的问题,请参考以下文章

在发布模式下使用 QML 桌面组件的问题

Xshell远程操作liunx图形化桌面(xmanager,远程桌面)

针对 QML 中的特定组件元素

在Centos7上安装图形化桌面工具

麒麟软件桌面操作系统V10怎么样,推荐使用吗?

Qml 透明窗口,设置不规则等透明窗口,鼠标可穿透到桌面