checkbox qt 样式_QT开发(六十四)——QT样式表(三)

六、QT样式表实例

1、样式表的使用

A、定制前景色和背景色

设置应用程序中的所有QLineEdit组件的背景色为×××

qApp->setStyleSheet("QLineEdit { background-color: yellow }");

如果只想要属性用于具体某个对话框的QLineEdit及子类组件。

myDialog->setStyleSheet("QLineEdit { background-color: yellow }");

如果只想将属性用于某个具体的QLineEdit组件,可以使用QObject::setObjectName()和ID选择器。

myDialog->setStyleSheet("QLineEdit#nameEdit { background-color: yellow }");

可以直接设置QLieEdit组件的background-color属性,忽略选择器

nameEdit->setStyleSheet("background-color: yellow");

为了确保对比效果,应该指定文本合适的颜色

nameEdit->setStyleSheet("color: blue; background-color: yellow");

修改选中文本的颜色如下:

nameEdit->setStyleSheet("color: blue;"

"background-color: yellow;"

"selection-color: yellow;"

"selection-background-color: blue;");

B、使用动态属性定制样式

为了提示用户字段是必填的,对这些字段使用×××作为背景色。要使用QT样式表是现实很容易的。首先,应该使用应用程序的样式表:

*[mandatoryField="true"] { background-color: yellow }

这意味着mandatoryField字段设置为true的组件的背景色为×××。

对于每个必备字段组件,我们匆忙中简单创建了一个mandatoryField属性并设置为true。

QLineEdit*nameEdit = newQLineEdit(this);

nameEdit->setProperty("mandatoryField", true);

QLineEdit*emailEdit = newQLineEdit(this);

emailEdit->setProperty("mandatoryField", true);

QSpinBox*ageSpinBox = newQSpinBox(this);

ageSpinBox->setProperty("mandatoryField", true);

C、使用盒子模型定制QPushButton

本节我们展示如何创建一个红色的按钮。

QPushButton#evilButton

{

background-color: red;

border-style: outset;

border-width: 2px;

border-radius: 10px;

border-color: beige;

font: bold 14px;

min-width: 10em;

padding: 6px;

}

QPushButton#evilButton:pressed

{

background-color: rgb(224, 0, 0);

border-style: inset;

}

D、定制按钮菜单指示器子控件

子控件可以访问组件的子元素。例如,按钮会使用QPushButton::setMenu()关联菜单与菜单指示器。定制红色按钮的菜单指示器如下:

QPushButton#evilButton::menu-indica

你可能感兴趣的:(checkbox,qt,样式)