我有一個通過QML文件指定的小部件。此小部件包含頂級Rectangle
,其中包含兩個Columns
。這些Columns
中的每一個都包含許多Text
元素。此QML小部件以C++包裝在QDeclarativeView
的子類中。指定Qt中許多文本元素的字體QML
我想爲這些Text
-elements中的每一個指定字體。今天,我做到這一點通過指定頂級屬性:
property string fontfamily: "Arial"
property bool fontbold: false
property bool fontitalic: false
property int fontpixelsize: 11
property string fontcolor: "White"
每個Text
-elements綁定到這些屬性:
Text
{
color: fontcolor
font.family: fontfamily
font.bold: fontbold
font.italic: fontitalic
font.pixelSize: fontpixelsize
...
}
這是不是很優雅,需要每次添加新的領域我需要支持新的東西(例如帶下劃線的字體)。我無法聲明font
類型的屬性,並將其綁定到此處(小部件爲空,qmlviewer會警告「屬性之後的預期類型」)。
是否有更好的方法來指定所有Text
-elements的字體?
注意!我手寫QML文件。
您也可以從C++暴露出QFont和QML使用它。 – 2017-02-08 09:57:18