Как импортировать и применить файл qss при создании плагина 3dsmax - PullRequest
0 голосов
/ 06 мая 2020

Я создаю плагин 3dsmax с использованием VS2015 + Qt. Я создаю плагин на C ++ и загружаю пользовательский интерфейс Qt при щелчке по пункту меню. Но он не может загрузить мой qss-файл и просто показать диалог с текстом и кнопками с нет таблицы стилей. Я загружаю файл qss по адресу: /prefix/alias. Что-то я сделал не так? Спасибо за помощь. Для создания деталей я использую 3dsmaxPluginWizard для генерации базовых c кодов, а затем добавляю несколько кодов для добавления нового меню в главное меню 3dsmax. Создайте мой пользовательский интерфейс с помощью QtCreator и добавьте файлы cpps, заголовки и mo c в мой проект. Я считаю, что этот процесс должен быть осуществимым. Мой qr c Файл:

<RCC>
    <qresource prefix="/icons">
        <file alias="btnClose">icons/icon_ close1.png</file>
        <file>icons/icon_ close1@2x.png</file>
        <file alias="btnCloseHover">icons/icon_ close2.png</file>
        <file>icons/icon_ close2@2x.png</file>
        <file alias="btnMini">icons/icon_ mini1.png</file>
        <file>icons/icon_ mini1@2x.png</file>
        <file alias="btnMiniHover">icons/icon_ mini2.png</file>
        <file>icons/icon_ mini2@2x.png</file>
        <file alias="lowerTriangle">icons/icon_callin.png</file>
        <file>icons/icon_callin@2x.png</file>
        <file alias="checkBoxUncheck">icons/icon_choose1.png</file>
        <file>icons/icon_choose1@2x.png</file>
        <file alias="checkBoxChecked">icons/icon_choose2.png</file>
        <file>icons/icon_choose2@2x.png</file>
        <file alias="radioBtnUncheck">icons/icon_choose11.png</file>
        <file>icons/icon_choose11@2x.png</file>
        <file alias="radioBtnChecked">icons/icon_choose22.png</file>
        <file>icons/icon_choose22@2x.png</file>
        <file alias="upperTriangle">icons/icon_down.png</file>
        <file>icons/icon_down@2x.png</file>
        <file alias="infoError">icons/icon_error.png</file>
        <file>icons/icon_error@2x.png</file>
        <file alias="infoFail">icons/icon_fail.png</file>
        <file>icons/icon_fail@2x.png</file>
        <file alias="infoHelp">icons/icon_mark.png</file>
        <file>icons/icon_mark@2x.png</file>
        <file alias="btnOpen1">icons/icon_open1.png</file>
        <file>icons/icon_open1@2x.png</file>
        <file alias="btnOpen2">icons/icon_open2.png</file>
        <file>icons/icon_open2@2x.png</file>
        <file alias="infoRight">icons/icon_right.png</file>
        <file>icons/icon_right@2x.png</file>
        <file alias="btnShut1">icons/icon_shut1.png</file>
        <file>icons/icon_shut1@2x.png</file>
        <file alias="btnShut2">icons/icon_shut2.png</file>
        <file>icons/icon_shut2@2x.png</file>
        <file alias="infoSuccess">icons/icon_succ.png</file>
        <file>icons/icon_succ@2x.png</file>
        <file alias="infoWarning">icons/icon_warn.png</file>
        <file>icons/icon_warn@2x.png</file>
        <file alias="downArrow">icons/icon_down1.png</file>
        <file>icons/icon_down1@2x.png</file>
        <file alias="upArrow">icons/icon_up1.png</file>
        <file>icons/icon_up1@2x.png</file>
    </qresource>
    <qresource prefix="/pic">
        <file alias="banner">pictures/banner.png</file>
        <file>pictures/banner@2x.png</file>
    </qresource>
    <qresource prefix="/qss">
        <file alias="mainQss">styleSheet.qss</file>
    </qresource>
</RCC>

Мой qr c Метод импорта:

bool ret;
QFile qss(":/qss/mainQss");
if (qss.exists() && qss.open(QFile::ReadOnly) && qss.isOpen()) {
    QString qssStr = QLatin1String(qss.readAll());
    qApp->setStyleSheet(qssStr);
    qss.close();
    ret = true;
}
else {
    ret = false;
}
return ret;
...