QT中设置字体和更改字体颜色

QT中设置字体和更改字体颜色

对一个文本框lineEdit设置字体,首先我建了一个按钮setFontButton用来设置
并定义了它的相应函数setFont,将setFontButton添加到布局中,并通过connect()设置与setFont()关联,
然后定义setFont如下
 void FindDialog::setFont()
 {
    bool ok;
    const QFont& font = QFontDialog::getFont(&ok,
                                             lineEdit->font(),
                                             this,
                                             tr("fontDialog"));
    if(ok)
    {
        lineEdit->setFont(font);
    }

 }
这样就可以设置字体了
改变字体或按钮的颜色:
先加入色板类#include <Qpalette>
比如要设置lineEdit里字体的颜色为红色
QPalette pal =lineEdit->QPalette();
pal->setColor(QPalette::Text,QColor(255,0,0);
lintEdit->setPalette(pal);
这样文本框中的字体就变成红色的了。
如果要通过调用色板来选择字体颜色,可以加上下列代码,其中的按钮创建,连接等省略
 void FindDialog::setFont
{
QPalette palette = lineEdit->palette();
     const QColor & color =
             QColorDialog::getColor(palette.color(QPalette::Base),this);
     if(color.isValid())
     {
         palette.setColor(QPalette::Text,color);
         lineEdit->setPalette(palette);
     }
}

http://wangjiajun53880.blog.163.com/blog/static/117001394201111825826965/

你可能感兴趣的:(qt)