久久久久久久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 ()?環形?)
主站蜘蛛池模板: 亚洲国产成人精品久久久国产成人一区 | 欧美一级免费看 | 成人欧美一区二区三区黑人孕妇 | 国产一区二区在线免费播放 | 国产露脸对白88av | 久久午夜视频 | 中文字幕视频在线看5 | 久久青| 五月天激情电影 | 国产精品久久久久久婷婷天堂 | 国产成人免费 | 欧美三级视频在线观看 | 欧美激情久久久久久 | 一级黄在线观看 | 人人爽人人爽人人片av | 91在线精品一区二区 | 日韩免费在线 | 欧美大片一区 | 精品国产乱码久久久久久果冻传媒 | 免费国产一区二区视频 | 特级生活片 | 欧美激情一区二区三区 | 精品1区2区 | 成人福利网站 | 综合色播 | 国产视频一区二区 | 久久久久久国产精品免费免费狐狸 | 亚洲精品v | 国产视频三区 | 91九色视频| 中文字幕视频一区二区 | 久久亚洲精品视频 | 国产精品不卡一区 | 国产亚洲精品精品国产亚洲综合 | 欧美中文字幕一区二区三区亚洲 | 91在线观看免费 | 午夜精品一区二区三区在线视 | 在线播放国产一区二区三区 | 在线不卡av | 国产精品视频免费观看 | 男女视频在线观看 |