Russian Qt Forum
Ноябрь 22, 2024, 04:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Пользовательский интерфейс (GUI) / Re: MDI из окон разных процессов : Июнь 20, 2022, 16:38
Что из разных процессов принципиально.
Все программы пишу я сам, т.е  скомпилировать могу как хочу.
Без WINAPI тут не обойтись походу.

Знаю, что можно получить Handle окна WINAPI из widget.
Но вот вопрос будет ли главное окно MDI созданное в QT окном MDI из WINAPI? И можно ли как-то QT widget из другого процесса присоединить к этому MDI через WINAPI?
Никогда не делал MDI через WINAPI
2  Qt / Вопросы новичков / Использование сигнал/слотов между DLL и основной программой : Июнь 20, 2022, 08:45
Добрый день.
Я хочу создать и динамически подключить библиотеку к своему приложению.
Использую QT 5.12.
Правильным ли выбором будет использование Q_DECLARE_INTERFACE и QPluginLoader?
Правильно ли я понимаю, что интерфейсный класс может содержать слоты и сигналы?
Обмен через сигналы и слоты между DLL и основной программой происходит также как и внутри одного проекта? Интересует не используют ли они какой-нибудь медленный механизм в отличии от использования их в одном проекте?
3  Qt / Пользовательский интерфейс (GUI) / MDI из окон разных процессов : Июнь 17, 2022, 15:31
Как можно организовать Multi document Interface из окон от разных процессов?.

т.е Есть один процесс с главным окном и другой процесс с окном которое нужно поместить внутрь главного..

Есть какой механизм в Qt для возможности сделать так?

ps. Работаю под WINDOWS7 с QT 5.12
4  Qt / Установка, сборка, отладка, тестирование / Re: Бинарник и Библиотеки QT в разные папки : Июнь 17, 2022, 11:06
Работаю на Windows 7.
Версия библиотек QT 5.12
Нужно указать путь откуда будут браться Qt5Core.dll и остальные dll.
Собираю все  в релизе. Запуская напрямую -вне QT креатора.

Есть основная программа в папке out
Библиотеки все и папочки скопировал с помощью QT-ной утилиты (назовем это выхлоп утилиты)
1) Если сложить весь выхлоп утилиты в папку рядом с EXE то все работает.

Если переместить выхлоп в папку out/QT
то ругается что не может найти Qt5Core.dll






Если положить qt.conf рядом с exe с содержимым:
[Paths]
Libraries=QT
Plugins=QT

Ошибка повторится.
Правильно ли я понимаю, что мне нужно переопределить только путь Libraries?

ps
код основного приложения такой:
Код:
int main(int argc, char *argv[])
{
//    #ifndef QT_DEBUG
//        QStringList s;
//        s.append(".\\QT\\");
//        QCoreApplication::setLibraryPaths(s);
//    #endif

    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

5  Qt / Установка, сборка, отладка, тестирование / Re: Бинарник и Библиотеки QT в разные папки : Июнь 17, 2022, 09:12
qt.conf рядом с exe не помогает.
Я вижу, что
QLibraryInfo::location( QLibraryInfo::LibrariesPath);
QLibraryInfo::location( QLibraryInfo::PluginsPath);
возвращает то, что я установил в конфигурационном файле
только после вызова
QApplication a(argc, argv);

Я так понимаю, что  вызов QApplication переопределяет пути поиска, но он сам требуют подключенных DLL QT.
Проблема не решена..

6  Qt / Установка, сборка, отладка, тестирование / Бинарник и Библиотеки QT в разные папки : Июнь 15, 2022, 10:51
Как разделить бинарник и библиотеки QT в разные папки?
Есть БИнарник который лежит в out/plugins и QT библиотеки которые расположен в out/QT.
Добавление пути к Библиотекам  QT в переменную среды PATH или перемещение их в SYSTEM 32 не лучшая идея, потому-что может вызвать проблемы с другим ПО, установленном на целевом PC.
Пробовал следующий код:
Код:
int main(int argc, char *argv[])
{
    QStringList s;
    s.append("E:\\develop\\repositories\\rep_sw_new\\trunk\\sw\\QT\\out\\QT\\platforms");
    s.append("E:\\develop\\repositories\\rep_sw_new\\trunk\\sw\\QT\\out\\QT");
    QCoreApplication::setLibraryPaths(s);

    QApplication a(argc, argv);

    Widget w(argc, argv);
    w.show();
    return a.exec();
}

Помогло с qwindows.dll в папке platforms,  но DLL  в папке QT также не видит.

Возможно есть вариант с переопределением переменной среды PATH внутри процесса, п пробовал с qputenv и qgetenv не помогло почему-то.

PS: Приложение будет состоять из многих процессов с иерархией папочек, поэтому есть необходимость явно указать, где будут лежать все DLL QT.
Страниц: [1]

Страница сгенерирована за 0.058 секунд. Запросов: 24.