У меня есть QPushButton, и на этом у меня есть текст и и значок. Я хочу сделать текст на кнопке, чтобы быть полужирным и красным. Посмотревший другие форумы, погугленные и проигранные моя надежда. Кажется, что нет никакого способа сделать это, если кнопка имеет значок (конечно, если Вы не создаете новый значок, который является text+former значком). Это - единственный путь? У кого-либо есть лучшая идея?
Для изменения форматирования кнопки не нужно создавать подкласс, лучше использовать таблицы стилей, например,
QPushButton {
font-size: 18pt;
font-weight: bold;
color: #ff0000;
}
Применив это к кнопке, которую вы хотите изменить, вы сделаете текст кнопки 18pt, жирным и красным. Вы можете использовать widget->setStyleSheet()
Применяя это к виджету в иерархии выше, вы измените стиль всех кнопок под ним, механизм QT stylesheet очень гибкий и достаточно хорошо документирован.
Вы можете устанавливать таблицы стилей и в дизайнере, это придаст стиль виджету, который вы редактируете немедленно
вы создаете подкласс "QPushbutton", затем переопределяете событие paint, там вы изменяете текст по своему желанию.
вот оно,
class button : public QPushButton
{
Q_OBJECT
public:
button(QWidget *parent = 0)
{
}
~button()
{
}
void paintEvent(QPaintEvent *p2)
{
QPushButton::paintEvent(p2);
QPainter paint(this);
paint.save();
QFont sub(QApplication::font());
sub.setPointSize(sub.pointSize() + 7);
paint.setFont(sub);
paint.drawText(QPoint(300,300),"Hi");
paint.restore();
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
button b1;
b1.showMaximized();
return a.exec();
}