對(duì)一個(gè)文本框lineEdit設(shè)置字體,首先我建了一個(gè)按鈕setFontButton用來(lái)設(shè)置
并定義了它的相應(yīng)函數(shù)setFont,將setFontButton添加到布局中,并通過(guò)connect()設(shè)置與setFont()關(guān)聯(lián),
然后定義setFont如下
void FindDialog::setFont()
{
bool ok;
const QFont& font = QFontDialog::getFont(&ok,
lineEdit->font(),
this,
tr("fontDialog"));
if(ok)
{
lineEdit->setFont(font);
}
}
這樣就可以設(shè)置字體了
改變字體或按鈕的顏色:
先加入色板類#include <Qpalette>
比如要設(shè)置lineEdit里字體的顏色為紅色
QPalette pal =lineEdit->QPalette();
pal->setColor(QPalette::Text,QColor(255,0,0);
lintEdit->setPalette(pal);
這樣文本框中的字體就變成紅色的了。
如果要通過(guò)調(diào)用色板來(lái)選擇字體顏色,可以加上下列代碼,其中的按鈕創(chuàng)建,連接等省略
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);
}
}