Просмотр сообщений
|
Страниц: 1 ... 6 7 [8] 9
|
106
|
Qt / Вопросы новичков / Re: Как уменьшить размер проекта.
|
: Апрель 13, 2017, 12:09
|
Qt5.8 все релизные либы весят 76'471Kb(отладочных на 2,5Gb), мой проект с БД, Net и OpenGl весит 3Мб + 20Мб библиотек. Так как даже скопировав все релизные либы 230метров никак не получить, можете выложить сюда список библиотек (выделив их все в тотал командере и скопировав имена), и мы подскажем что лишнего вы синкопировали.
Так вон по скриншотам видно, что скопированы и релизные и дебаг версии библиотек. Hornet, Qt for Windows - Deployment. Натравите утилиту windeployqt на свой исполняемый файл, она Вам соберет необходимый максимум. За исключением вроде бы libgcc_s_dw2-1.dll, libstdc++-6.dll и libwinpthread-1.dll
|
|
|
107
|
Qt / Общие вопросы / Re: QT Creator 3.5.1: третья порция вопросов.
|
: Апрель 12, 2017, 21:04
|
1. Существует ли встроенная функция Round для дробных чисел?
qRound не? А также qCeil qFloor. 2. Как получить доступ к элементам формы внутри функции? Описал ее в Public в .h, описал Form_Main::название - сама функция работает как часы с глобальными и локальными переменными. Но не видит ни одного элемента формы. Нельзя написать Button_Puk.visible, потому что не существует для нее Button_Puk.
Предположу, что речь идет о форме, созданной через редактор форм, поэтому доступ будет через ui. (ui->Button_Puk) 5. Где версию проекта можно обозначить? А то в EXE идет как 0.0.0.0.
Тыц
|
|
|
108
|
Qt / Установка, сборка, отладка, тестирование / Re: Исправление самим приложением свойства
|
: Апрель 12, 2017, 20:33
|
Маловероятно, что решение существует, т.к. все, что касается сборки слишком зависимо от среды и используемых средств (не Qt Creator'ом единым жеж). Файл проекта содержит в себе лишь то, что нужно для его сборки, чем бы не вздумалось. Даже сама возможность подобного изменения не очень логична, почему Вы пытаетесь навязать решившему собрать Ваш проект, свои настройки сборки? Допустим, нужна теневая сборка, а Ваш "блок" бы выключал её, вот радость-то, искать подобные закладки.
А если это чисто для себя, то в чем проблема при настройке проекта на новой машине вручную отключать теневую сборку? Делов-то на пару кликов.
P.S. При теневой сборке, можно настроить копирование необходимых файлов к слинкованному файлу, или самого слинкованного файла в рабочую папку (где лежат необходимые файлы) как после сборки через QMAKE_POST_LINK, так и при запуске с помощью Custom Deploy Step.
|
|
|
109
|
Qt / Мультимедиа / Re: QPixmap из QByteArray и обратно
|
: Апрель 10, 2017, 13:29
|
А не может быть такого, что при обработке в Java меняют формат?
Просто, Вы при сохранении формат не меняете, а на той стороне, он уже другой, что несколько странно.
|
|
|
111
|
Qt / Вопросы новичков / Re: Изменение переменых в родительском классе
|
: Апрель 07, 2017, 11:02
|
Чтобы заработал Ваш код, поступать надо примерно так: class showlist : public qDialog { public: MainWindow* mw; signals: callcollectData () public slots: void showlist::reload(){ char addressToSend[4] = {17,0,0,1} for (int i=0; i<4;i++) { mw->sp_ar_address[i]=addressToSend[i]; } mw->sp_dataLength = 1; mw->sp_ar_dataToSend.append(((const char*)(&mw->data), sizeof(char))); emit callcollectData (); } }
И при создании объекта hardware, проинициализировать указатель, чтобы он указывал на нужный Вам экземпляр класса MainWindow: hardware = new showlist; hardware->mw = this; Но в целом, такое решение выглядит попросту ужасно. Уж лучше будет передавать необходимые данные через механизм сигнал-слот. class showlist : public qDialog { signals: void callcollectData (QByteArray Data, char Address[]);
И соответствующий этому сигналу принимающий слот у MainWindow сам модифицирует свои внутренние переменные.
|
|
|
112
|
Qt / Вопросы новичков / Re: Изменение переменых в родительском классе
|
: Апрель 07, 2017, 09:29
|
Хотелось бы больше кода, но мой внутренний телепат подозревает, что Вы меняете val у объекта только что созданного на стеке, и не имеющего никакого отношения к окну приложения, которое у Вас есть.
Если Вы наследуетесь от MainWindow - то имеете прямой доступ к переменной val дочернего. Или вам нужен указатель на необходимый Вам объект класса MainWindow (т.е. MainWindow* mw).
|
|
|
117
|
Qt / Вопросы новичков / Re: Multi Multi
|
: Февраль 13, 2017, 13:57
|
Ну так я и имел ввиду, выставить кнопке Qt::WA_AcceptTouchEvents, и по сигналу вызывать нужные слоты.
Проблема то приведенного кода, как я понял, что не срабатывает условие if(gui->getAzimutButton()->isChecked()), т.к. кнопка не переключает своего состояния от касаний.
|
|
|
119
|
Qt / Вопросы новичков / Re: Multi Multi
|
: Февраль 13, 2017, 12:02
|
А не достаточно ли будет кнопке тоже разрешить обрабатывать касания (Qt::WA_AcceptTouchEvents), и подписаться на сигнал toggled к примеру?
Или в текущем коде, самостоятельно взводить флаг checked.
|
|
|
120
|
Qt / Вопросы новичков / Re: Multi Multi
|
: Февраль 12, 2017, 11:03
|
Думаю речь о Qt::AA_SynthesizeTouchForUnhandledMouseEvents и Qt::AA_SynthesizeMouseForUnhandledTouchEvents (установлен по умолчанию) соответственно.
Если надо чтобы по касанию срабатывало что-то, как на клик мыши - то возможно стоит переопределить QObject::event() для кнопок и отлавливать QEvent::MouseButtonPress и QEvent::TouchBegin.
P.S. Как минимум у меня на Win7 встречается баг, что событие QEvent::TouchBegin (а соответственно и синтезированный QEvent::MouseButtonPress) не отсылается сразу после начала касания, в таком случае следует копать в сторону RegisterTouchWindow с TWF_WANTPALM.
|
|
|
|
|