久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 Qt QML 中為許多文本元素指定字體

Specifying font for many Text-elements in Qt QML(在 Qt QML 中為許多文本元素指定字體)
本文介紹了在 Qt QML 中為許多文本元素指定字體的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個通過 QML 文件指定的小部件.這個小部件包含一個頂級Rectangle,它包含兩個Columns.這些 Columns 中的每一個都包含許多 Text 元素.這個 QML 小部件包含在 C++ 中 QDeclarativeView 的子類中.

I have a widget specified through a QML file. This widget contains a top levelRectangle which contains two Columns. Each of these Columns contains many Text-elements. This QML widget is wrapped in a subclass of QDeclarativeView in C++.

我想為每個 Text 元素指定字體.今天我通過指定頂級屬性來做到這一點:

I want to specify the font for each of these Text-elements. Today I do this by specifying top-level properties:

property string fontfamily: "Arial"
property bool fontbold: false
property bool fontitalic: false
property int fontpixelsize: 11
property string fontcolor: "White"

并將每個 Text 元素綁定到這些屬性:

and bind each Text-elements to these properties:

Text
{   
    color: fontcolor
    font.family: fontfamily
    font.bold: fontbold
    font.italic: fontitalic
    font.pixelSize: fontpixelsize
    ...
}

這不是很優雅,每次我需要支持新的東西時都需要添加新的字段(例如帶下劃線的字體).我無法聲明 font 類型的屬性并綁定到它(小部件為空白,qmlviewer 警告屬性后的預期類型").

This isn't very elegant and new fields needs to be added every time I need support for something new (e.g. underlined fonts). I have not been able to declare a property of type font and bind to this instead (widget is blank and qmlviewer warns about "expected type after property").

是否有更好的方法為所有 Text 元素指定字體?

Is there a better way to specify a font for all Text-elements?

注意!我正在手寫 QML 文件.

Note! I'm handwriting the QML files.

推薦答案

另一種可能是編寫一個新的 QML 組件,它繼承自 Text 并默認設置一些屬性:

Another possibility is to write a new QML component, that inherits from Text an sets some properties by default:

StyledText.qml

import QtQuick 1.0

Text {
    // set default values
    color: "blue"
    font.family: "Arial"
    font.bold: true
    font.italic: true
    font.pixelSize: 12
}

ma??in.qml

import QtQuick 1.0

Rectangle {
    Row {
        spacing: 10

        Column {
            StyledText {
                text: "Foo1"
            }
            StyledText {
                text: "Bar1"
            }
            StyledText {
                text: "Baz1"
            }
        }

        Column {
            StyledText {
                text: "Foo2"
            }
            StyledText {
                text: "Bar2"
            }
            StyledText {
                text: "Baz2"
            }
        }
    }
}

這篇關于在 Qt QML 中為許多文本元素指定字體的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How can I read and manipulate CSV file data in C++?(如何在 C++ 中讀取和操作 CSV 文件數據?)
In C++ why can#39;t I write a for() loop like this: for( int i = 1, double i2 = 0; (在 C++ 中,為什么我不能像這樣編寫 for() 循環: for( int i = 1, double i2 = 0;)
How does OpenMP handle nested loops?(OpenMP 如何處理嵌套循環?)
Reusing thread in loop c++(在循環 C++ 中重用線程)
Precise thread sleep needed. Max 1ms error(需要精確的線程睡眠.最大 1ms 誤差)
Is there ever a need for a quot;do {...} while ( )quot; loop?(是否需要“do {...} while ()?環形?)
主站蜘蛛池模板: 最近免费日本视频在线 | 亚洲一区视频在线 | 成人三级视频 | 大香在线伊779 | 可以免费观看的av | 九九久久精品 | 精品成人在线视频 | 亚州精品天堂中文字幕 | re久久 | 欧美区在线 | 国产玖玖 | 喷水毛片 | 丁香综合| 欧美一区二区三区在线观看 | 国产 欧美 日韩 一区 | 久久久精品日本 | 久久在线视频 | 日韩精品| 国内精品久久久久 | 91在线观看 | 免费观看一级特黄欧美大片 | 91在线视频免费观看 | 米奇狠狠鲁 | 欧美三区在线观看 | 99免费精品 | 色吊丝2 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 青青久草 | 国产在线不卡 | 中文字幕日韩一区 | 日韩精品一区二区三区在线播放 | 国产欧美日韩精品一区 | 91动漫在线观看 | 亚洲三区视频 | 国产清纯白嫩初高生在线播放视频 | 免费观看成人鲁鲁鲁鲁鲁视频 | 国产999精品久久久久久绿帽 | 黄色网页在线 | 日韩精品久久一区二区三区 | 欧美一区二区三区视频 | 一级特黄a大片 |