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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2] 3 4 ... 9
16  Qt / Пользовательский интерфейс (GUI) / Re: Как работают сигналы в qt? : Февраль 23, 2020, 00:29
Вообще мне нужно сделать, чтобы вместо чисел можно было выбирать текст.
А QComboBox чем не устраивает? Но на всякий случай существуют QSpinBox::textFromValue, QSpinBox::valueFromText
17  Qt / Общие вопросы / Re: Обращение к виджету из другого класса : Февраль 11, 2020, 13:54
Выбрасыват ошибку ASSERT: "c->sender == q_ptr" in file kernel\qobject.cpp, line 391
Там случаем не connect(&t, ...) остался?
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 созданный вами ранее.
20  Qt / Общие вопросы / Re: Обращение к виджету из другого класса : Февраль 10, 2020, 15:27
Если коротко, то читайте о системе  сигналов и слотов

У вас в методе calculate создается объект класса MainWindow (не имеет отношения к вашему окну), для него выполняется метод set_tw_check_file_insert_row(), и объект сразу удаляется, при выходе за пределы видимости.
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?
23  Компиляторы и платформы / Windows / Re: Как сделать панель на десктопе : Май 02, 2019, 20:41
У окна есть флаг Qt::WindowStaysOnTopHint
24  Qt / Вопросы новичков / Re: Не масштабируется окно на 3,5 дюймовом экране : Февраль 12, 2019, 11:20
Думаю, копать надо в эту сторону High DPI Displays
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() и посмотреть, сколько в компоновщике виджетов в это время (ну либо под отладчиком посмотреть).

27  Qt / Пользовательский интерфейс (GUI) / Re: QHBoxLayout . В чем проблема ? : Декабрь 25, 2018, 00:12
А этот код компилируется? (2)

А выложите проект напопробовать. А, банально, пересобрать проект пробовали?

Если воспринимать предложенный текст как некий псевдокод, то вроде бы все должно работать.
28  Qt / Мультимедиа / Re: пример QCamera : Октябрь 19, 2018, 17:53
QCamera работает с вебкамерами, но не видит устройства видеозахвата (к примеру Blackmagic).
29  Qt / Пользовательский интерфейс (GUI) / Re: QGraphicsView в Windows : Сентябрь 20, 2018, 11:23
Воспользуйтесь утилитой windeployqt.exe из QTDIR/bin/
Qt for Windows - Deployment

Ну или просто скопируйте необходимый плагин (в Вашем случае qjpeg.dll) из QTDIR/plugins/imageformats в папку imageformats находящуюся рядом с Вашим исполняемым файлом.
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";
 

Никаких лишних преобразований не делается.
Страниц: 1 [2] 3 4 ... 9

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