Это все еще какая-то загадка.Я использовал пример приложения Qt таблицы стилей, где он демонстрирует использование файлов * .ui и * .qss.
У них есть класс главного окна, который разработан в * .ui.Однако в коде вообще нет ссылок на любые * .ui или * .qss, и все же они связаны во время выполнения.Я не могу понять как.
это код для инициализации главного окна;
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(stylesheet);
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
Это код для главного окна ...
*. H:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui>
#include "ui_mainwindow.h"
class StyleSheetEditor;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
private slots:
void on_editStyleAction_triggered();
void on_aboutAction_triggered();
private:
StyleSheetEditor *styleSheetEditor;
Ui::MainWindow ui;
};
#endif
*. Cpp:
include <QtGui>
#include "mainwindow.h"
#include "stylesheeteditor.h"
MainWindow::MainWindow()
{
ui.setupUi(this);
ui.nameLabel->setProperty("class", "mandatory QLabel");
styleSheetEditor = new StyleSheetEditor(this);
statusBar()->addWidget(new QLabel(tr("Ready")));
connect(ui.exitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
connect(ui.aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
}
void MainWindow::on_editStyleAction_triggered()
{
styleSheetEditor->show();
styleSheetEditor->activateWindow();
}
void MainWindow::on_aboutAction_triggered()
{
QMessageBox::about(this, tr("About Style sheet"),
tr("The <b>Style Sheet</b> example shows how widgets can be styled "
"using <a href=\"http://qt.nokia.com/doc/4.5/stylesheet.html\">Qt "
"Style Sheets</a>. Click <b>File|Edit Style Sheet</b> to pop up the "
"style editor, and either choose an existing style sheet or design "
"your own."));
}
Может кто-нибудь объяснить, почему он просыпается с содержимым файла * .ui в моих ресурсах?