Qt - Отображение графики в приложении - PullRequest
0 голосов
/ 18 октября 2011

У меня в Qt запущено приложение, которое я по сути пытаюсь перенастроить. Мне предоставили графику для фона, кнопок и т. Д. В проекте нет текущей графики. Он не имеет фона и просто использует внешний вид QPushButtons по умолчанию. Я использую редактор QI Design UI, потому что он не позволит мне просто изменить файл mainwindow.ui за пределами редактора.

Таким образом, я смог установить фон приложения, применив таблицу стилей к объекту MainWindow. background-image:url("/path/to/bg.png") и это сработало. Здорово. Но теперь все QLabels в приложении имеют точно такой же фон. Кажется, что все члены QWidget наследуют информацию таблицы стилей своего родителя. Как мне это остановить?

Другое, что я испытываю, это то, что мне нужно отображать графику в произвольных местах приложения. Единственный способ, которым я успешно это сделал, - это добавить еще один QWidget и установить для него таблицу стилей. Это правильный метод? Каков наилучший способ отображения неинтерактивного изображения?

Спасибо

1 Ответ

1 голос
/ 18 октября 2011

Добавьте таблицу стилей в QApplication и уточните, какие QWidgets вы хотите стилизовать.

Вот что вы ищете:

#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QMainWindow wnd;

    QString style("QMainWindow{ background: red;} QPushButton{ background: blue }");

    app.setStyleSheet(style);

    QPushButton *btn = new QPushButton("Hello", &wnd);

    wnd.show();

    return app.exec();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...