Я бы просто использовать таблицы стилей для всего окна.
Например, если окно наследуется от QWidget, вот что я делаю:
MainWindow::MainWindow(QWidget *parent) : QWidget(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setStyleSheet("background-color: black;");
}
На моем Mac, все мое окно приложения черный (кроме заголовка).
EDIT: согласно комментировать, здесь есть решение без использования Ui файлов и загрузки внешней таблицы стилей
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
#include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton>
#include <QtCore/QFile>
int main(int ArgC, char* ArgV[])
{
QApplication MyApp(ArgC, ArgV);
QMainWindow* pWindow = new QMainWindow;
QVBoxLayout* pLayout = new QVBoxLayout(pWindow);
pWindow->setLayout(pLayout);
QPushButton* pButton = new QPushButton("Test", pWindow);
pLayout->addWidget(pButton);
QFile file(":/qss/default.qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
pWindow->setVisible(true);
MyApp.exec();
}
В файле стилей (default.qss) выглядит следующим образом:
QWidget {
background-color: black;
}
Этот файл является частью файла ресурсов (stylesheet.qrc):
<RCC>
<qresource prefix="/qss">
<file>default.qss</file>
</qresource>
</RCC>
А вот мой проект Файл:
TARGET = StyleSheet
TEMPLATE = app
SOURCES += main.cpp
RESOURCES += stylesheet.qrc
Как это сделать в таблице стилей? Я сделал это для виджетов, таких как QPushButton, но не могу понять, что использовать для фона в целом. – bryce
Позвольте мне пояснить и некоторые вещи. Я не использую файл .ui от дизайнера, так как я все кодировал.Кроме того, у меня есть отдельный файл .hs таблицы стилей и ввод кода непосредственно в исходный код. – bryce
Спасибо, я знал, что это было прямо под моим носом. QWidget {background-color: black;} был тем, что мне нужно. Я не понял, что могу напрямую использовать QWidget. – bryce