Можно ли задавать префикс заголовку и имя пространству имён, генерируемому на основе ui файла?



  • Доброго времени суток.
    Выполняю примеры из книги Саммерфилда. На основе созданного мною ui-файла, программа uic генерирует заголовочный файл. Заглянув в него, я вижу такое определение класса:
    @
    ...
    QT_BEGIN_NAMESPACE

    class Ui_GoToCellDialog
    {
    ...
    }
    namespace Ui {
    class GoToCellDialog: public Ui_GoToCellDialog {};
    QT_END_NAMESPACE
    ...
    @

    Код точки входа (файл main.cpp) был написан таким:

    @
    #include<QApplication>
    #include<QDialog>

    #include<ui_gotocelldialog.h>

    int main(int argc, char **argv){
    QApplication app(argc, argv);
    Ui::GoToCellDialog ui;
    QDialog *dialog = new QDialog;
    ui.setupUi(dialog);
    dialog->show();
    return app.exec();
    }
    @

    Всё компилируется и успешно работает, но возник такой вопрос:
    можно ли управлять тем, какое имя будет назначаться генерируемому в файле заголовка пространству имён? Т.е. например, чтобы генерировался не ui_gotocelldialog.h, но a_bush_gotocelldialog.h, и вместо UI:: соответственно генерировалось пространство A_Bush::. Это должно работать по аналогии с
    @#define A_Bush Ui@

    т.е. по смыслу так:

    @
    #include<QApplication>
    #include<QDialog>

    #define A_Bush Ui

    #include<ui_gotocelldialog.h>

    int main(int argc, char **argv){
    QApplication app(argc, argv);
    A_Bush::GoToCellDialog ui;
    QDialog *dialog = new QDialog;
    ui.setupUi(dialog);
    dialog->show();
    return app.exec();
    }
    @

    Или же генерация префикса ui_ (для заголовочных файлов) и пространства имён UI:: фиксирована?

    Спасибо.



  • Привет

    Генераций хедеров ui-шников занимается утилита uic. Максимум, что вы можете сделать, это поменять файл вывода:
    @
    uic .. -o <file>
    @

    Можно пойти на сумасшествие и написать утилиту, которая меняет префиксы или фокнуть uic :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.