Просмотр сообщений
|
Страниц: 1 [2] 3 4 ... 9
|
18
|
Qt / Общие вопросы / Re: Обращение к виджету из другого класса
|
: Февраль 10, 2020, 23:09
|
не сработало. может что-то не так сделал?!
void MainWindow::on_pushButton_clicked() { Test t; connect(&t, &Test::isDone, this, &MainWindow::set_tw_check_file_insert_row); }
При клике на кнопку (подозреваю связь установлена в редакторе форма), создается объект класса Test и соединяется сигнал Test::isDone с методом MainWindow::set_tw_check_file_insert_row. И собственно сразу объект уничтожается. Нет вызова метода calculate, в конце исполнения которого, по идее, находится отсылка этого сигнала. Вообще не понятно, чего именно вы пытаетесь добиться, классы MainWindow и Test никак не связаны между собой, можно без заморочки написать так C++ (Qt) void MainWindow::on_pushButton_clicked() { Test t; t.calculate(); set_tw_check_file_insert_row(); }
Но все это выполняется в интерфейсном потоке, и в случае долгих вычислений в calculate - подвиснет приложение.
|
|
|
19
|
Qt / Общие вопросы / Re: Обращение к виджету из другого класса
|
: Февраль 10, 2020, 15:49
|
В классе Test создать сигнал об окончании вычислений и посылать его в конце calculate C++ (Qt) class Test : public QObject { Q_OBJECT public: Test(); void calculate() { /* work hard */ emit calcDone(); } signals: void calcDone(); };
В MainWindow связываем все это дело C++ (Qt) connect(TestObject, &Test:calcDone, this, &MainWindow::set_tw_check_file_insert_row);
Где TestObject указатель на объект класса Test созданный вами ранее.
|
|
|
21
|
Qt / Qt-инструментарий / Изменение переменной PATH из .pro файла
|
: Август 29, 2019, 15:12
|
Здравствуйте.
Есть ли возможность в .pro файле задавать пути для поиска dll при запуске приложения из под Qt Creator, на подобии INCLUDEPATH и LIBS соответственно? В данный момент приходиться либо класть необходимые файлы в рабочий каталог, либо модифицировать PATH через Projects > Run > Run Environment > Batch Edit.
|
|
|
22
|
Qt / Общие вопросы / Re: "Тот самый" файл
|
: Июнь 12, 2019, 22:26
|
Неужели читать (перечитывать) заголовок изображения (или там совсем экзотика по форматам?) настолько дорого?
А что насчет QFileSystemWatcher?
|
|
|
25
|
Qt / Пользовательский интерфейс (GUI) / Re: QHBoxLayout . В чем проблема ?
|
: Декабрь 25, 2018, 13:25
|
я присваиваю всему массиву картинок ""
Ага, закоментил этот фикс, и "ошибка" воспроизвелась. Суть такова, удаление виджета (QLabel) из компоновщика (QHBoxLayout) на видимость самого виджета не влияет никак, сам компоновщик только располагает виджеты относительно родительского. Поэтому эти "призраки" и продолжают отрисовываться - они исключены из компоновки, но все еще продолжают быть дочерними к окну, которое их и рисует. Поэтому "удаляемые" виджеты надо либо отвязать от родителя (setParent(nullptr)), либо скрыть (hide() - потом надо будет проявить через show()). Вы используете rand, но не инициализируете ГСЧ с помощью srand. И еще, подозреваю, что есть утечка памяти, т.к. вызывается addStretch, а потом он просто выкидывается через takeAt без удаления.
|
|
|
26
|
Qt / Пользовательский интерфейс (GUI) / Re: QHBoxLayout . В чем проблема ?
|
: Декабрь 25, 2018, 01:25
|
Собрал (Qt 5.10.1) и запустил (со своими картинками) - все работает как надо. Если быстро кликать - иногда заметно как компоновщик не успевает, и на доли секунды возникает ситуация как на второй картинке, но все быстро исправляется.
Попробуйте пересобрать проект (rebuild), а заодно можно понавтыкать при обновлении qDebug() и посмотреть, сколько в компоновщике виджетов в это время (ну либо под отладчиком посмотреть).
|
|
|
28
|
Qt / Мультимедиа / Re: пример QCamera
|
: Октябрь 19, 2018, 17:53
|
QCamera работает с вебкамерами, но не видит устройства видеозахвата (к примеру Blackmagic).
|
|
|
30
|
Qt / Кладовая готовых решений / Re: Отправка сообщений по протоколу SMTP
|
: Август 29, 2018, 10:29
|
Исходники не читай@сразу отвечай Для варианта исходники в utf-8, в письме base64 делаю так: C++ (Qt) QString Encoding = "UTF-8"; QString Subject = "Тема письма"; ... // Subject Header += "Subject: =?" + Encoding + "?B?" + QByteArray().append(Subject).toBase64() + "?=\r\n";
Никаких лишних преобразований не делается.
|
|
|
|
|