Qt设置QTextEdit和QLabel的字体颜色
2013-08-20 10:13
633 查看
1、他们之间可能存在一些差别。
比如设置QLabel:palette.setColor(QPalette::WindowText, Qt::blue);
比如设置QTextEdit:
palette.setColor(QPalette::Text, Qt::blue);
设置QTextEdit为QPalette::WindowText是无效的。此处一定要注意前景色,基本前景,背景色等之间的差别和类型。
对于各种颜色的设置,譬如
QPalette::Highlight // 被选中后文字的背景色.
QPalette::HighlightText // 被选中后文字的前景色.
QPalette::Text // 文字的前景色
QPalette::Base // QTextEdit的背景色, 默认是白色的.
特推荐下列文章:
2、推荐文章:
http://www.cppblog.com/biao/archive/2009/05/28/86014.htmlQtWidget: 设置QTextEdit的各种颜色
![](http://www.cppblog.com/images/cppblog_com/biao/ColorRole.png)
Widget::Widget(QWidget *parent)
: QWidget(parent), ui(new Ui::Widget) {
ui->setupUi(this);
connect(ui->button, SIGNAL(clicked()), this, SLOT(setColor()));
QPalette p = palette();
p.setColor(QPalette::Text, QColor(0, 255, 0));
setPalette(p); // 注意这里, 修改了widget的调色板, 子窗口ui->lineEdit的颜色变化.
}
Widget::~Widget() {
delete ui;
}
void Widget::setColor() {
QPalette palette = ui->lineEdit->palette();
const QColor &color = QColorDialog::getColor(palette.color(QPalette::Background), this);
if (color.isValid()) {
palette.setColor(QPalette::Highlight, color);
ui->lineEdit->setPalette(palette);
}
}
palette.setColor(QPalette::Highlight, color);
此处:
QPalette::Highlight // 被选中后文字的背景色.
QPalette::HighlightText // 被选中后文字的前景色.
QPalette::Text // 文字的前景色
QPalette::Base // QTextEdit的背景色, 默认是白色的.
Role: Qt中会有一组数据, 当取得这些数据时, 使用同样的方法去获取, 为了指明是取得哪种数据, 所以就定义了Role这种概念, 来指明要获取的数据的类型, 例如在View中, 如有显示的文字, 图标, 真正有用的数据(可能没有显示出来, 而是在内部存储着), 取得这些数据都是用同一个方法data(), 通过指明数据的角色来获得.
所有Qt窗口部件都拥有一个QPalette, 并使用它绘制自己. 应用程序还有一个调色板, 通过QApplication::palette()来获得. 修改一个窗口部件的调色板, 只影响这个窗口部件以及子窗口部件(不包含子窗口, 如只是以他作为父对象来管理内存, 而不在他里面显示), 而修改应用程序的调色板, 会影响到该应用程序的所有窗口部件
相关文章推荐
- 【QT】 QLabel设置字体大小和颜色
- Qt下设置QLabel字体的大小和颜色
- Qt设置QLabel中字体的颜色
- 如何使用Qt4,设置QLabel中字体的颜色。
- QT QLabel设置字体的颜色
- QT设置QLabel中字体的颜色
- QTextEdit 、QPlainTextEdit设置插入字体颜色
- Qt4设置QLabel中字体的颜色
- qt的字体和颜色设置对话框
- Android中TextView、EditText对部分内容设置不同格式(颜色、字体、超链接、图片。。)
- 设置EditText中的所有字体颜色
- QTextEdit中选中文本修改字体与颜色,全部文本修改字体与颜色
- android 设置字体颜色、EditText自动输入转换成大写字母的多种方式
- 使用Qt 4如何设置QLabe中字体的颜色
- 动态设置Edit控件的背景及字体颜色
- Qt5.9设置pushButton按钮背景色和字体颜色
- android TextView、EditText对部分内容设置颜色、字体、超链接、图片
- 设置QLabel中字体的颜色
- 设置EditText控件中提示消息hint的字体颜色和大小
- QT textEdit,lineedit等改变字体颜色方法