QML - 如何更改TextField字体大小

时间:2014-07-27 00:52:33

标签: qml textfield font-size

如何在QML中设置TextField元素的字体大小?想要改变placeholderText的大小以及用户输入的文本的大小。

我没有运气就尝试了很多方法!

TextField {
    id: name_TextField; horizontalAlignment: Text.AlignHCenter;
    Layout.preferredWidth: parentCLayer.width * 0.90; Layout.preferredHeight: 50
    style: TextFieldStyle {
        font.pixelSize: 20  // This doesn't seem to work either
    }
    placeholderText: qsTr("Your name here")
}

2 个答案:

答案 0 :(得分:2)

您可以使用style属性自定义TextField。例如:

TextField {
    style: TextFieldStyle {
        font.pixelSize: 14
    }
}

我尝试了它,它就像一个魅力

答案 1 :(得分:0)

使用TextField的font成员

TextField类型本身有一个成员font,其中包含QML basic type font的实例。只需更改font TextField成员内部成员的值即可进行您想要查看的更改。请注意,颜色由TextField本身提供,而不是字体类型。

TextField {
    font.pointSize: 20
    font.bold: true
    font.family: "Times New Roman"
    textColor: "red"
}

默认样式

Default TextField style

自定义样式

TextField style in 20pt, bold Times New Roman.

使用TextField的style成员

如果您想对TextField进行更深入的样式设置,可以将TextFieldStyle附加到style的{​​{1}}成员。 TextField实例也有一个TextFieldStyle成员,但是如果你用点表示法引用它们,它会抱怨字体没有成员,这可能是错误QTCREATORBUG-11186。我认为分配值的正确方法是使用组表示法,方法是使用内部项引用font属性:

font

可能是错误#11186是一个真正的错误,或者可能是设计字体属性是TextFieldStyle为null;具有更好Qt / QML知识的人可以就问题的这一部分提供更清晰的答案。

本样式指南可能有所帮助:http://wiki.qt.io/Qml_Styling