Просмотр сообщений
|
Страниц: 1 2 [3] 4 5 ... 12
|
31
|
Qt / Дополнительные компоненты / Закрытие QSerialPort при удалении физического COM из Windows
|
: Сентябрь 09, 2019, 17:29
|
Здравствуйте Можете подсказать, правильно закрывать QSerialPort при физическом отключении COM или нет? В моем случае это так: есть COM, который появляется при подключении USB-устройства; его открываю, работаю, а потом устройство могут неожиданно выдернуть. Если не вызывать close(), то порт считается после этого открытым. В принципе, можно вызвать close() и все работает, но при взгляде на алгоритм программы возникает вопрос: "Зачем закрывать порт, который отвалился?"
|
|
|
34
|
Программирование / Общий / Re: Блок-схема таймера, прерываемого по нажатию кнопки
|
: Июль 30, 2019, 13:12
|
А можете немного подробнее про монтирование "дел с таймером". Во вложении я нарисовал схему событийного цикла, хотя не уверен, что она правильная. Если скажете, что в ней не так - буду благодарен. По существу, если кнопка не нажата, то ничего не происходит, таймер не сбрасывается
|
|
|
36
|
Программирование / Общий / Блок-схема таймера, прерываемого по нажатию кнопки
|
: Июль 30, 2019, 11:07
|
Здравствуйте, Мне надо нарисовать блок-схему алгоритма. Взводится таймер, ожидание несколько секунд, если во время ожидания была нажата кнопка, то выход из программы, если время ожидания вышло, то выполнить другие действия. Можете высказать мнение, как бы вы нарисовали блок-схему этого алгоритма?
|
|
|
39
|
Qt / Пользовательский интерфейс (GUI) / QTableWidget в QDialog без появления слайдеров
|
: Июль 29, 2019, 11:04
|
Здравствуйте Необходимо сделать таблицу в QDialog. Делаю следующим образом через QTableWidget, но появляются слайдеры. Этот код вызывается при нажатии кнопки в ui QMainWindow. Скрин получаемого окна прикрепляю. Можете подсказать, как это можно исправить? //Window QDialog dialogDeviceInfo(this); dialogDeviceInfo.setWindowFlags(dialogDeviceInfo.windowFlags() &~ Qt::WindowContextHelpButtonHint); //delete "?" from window title //Table QTableWidget *tableWidget = new QTableWidget(10,2,this); tableWidget->verticalHeader()->setVisible(false); tableWidget->horizontalHeader()->setVisible(false); //hLayout QHBoxLayout *hTableLayout = new QHBoxLayout; hTableLayout->addWidget(tableWidget); //vLayout QVBoxLayout *vLayout = new QVBoxLayout; vLayout->addLayout(hTableLayout); //Fill table for(int i = 0; i < 10; ++i){ tableWidget->setItem(i,1,new QTableWidgetItem(QString::number(i)+QString::number(1))); tableWidget->setItem(i,2,new QTableWidgetItem(QString::number(i)+QString::number(1))); } tableWidget->resizeColumnsToContents();
//Calculation height of table int sumHeightRowsTable = 0; for(int i = 0; i < tableWidget->rowCount(); i++) sumHeightRowsTable += tableWidget->rowHeight(i); int heightWindow = sumHeightRowsTable + vLayout->contentsMargins().top() + vLayout->contentsMargins().bottom();
//Calculation width of table int sumWidthColumnsTable = 0; for(int i = 0; i < tableWidget->columnCount(); i++) sumWidthColumnsTable += tableWidget->columnWidth(i);
tableWidget->setMaximumHeight(sumHeightRowsTable + 2*tableWidget->lineWidth()); tableWidget->setMaximumWidth(sumWidthColumnsTable);
tableWidget->setEditTriggers(QTableWidget::NoEditTriggers); dialogDeviceInfo.setMinimumSize(sumWidthColumnsTable + 70,heightWindow + 70); dialogDeviceInfo.setMaximumSize(static_cast<int>(sumWidthColumnsTable*1.2),static_cast<int>(heightWindow*1.2)); dialogDeviceInfo.setLayout(vLayout); dialogDeviceInfo.exec();
|
|
|
42
|
Qt / Дополнительные компоненты / Определение встроенных COM-портов
|
: Июнь 06, 2019, 11:57
|
Здравствуйте, вопрос может не совсем к QT относится.
Можете подсказать, есть какой-то способ определить встроенные COM-порты? Метод QList<QSerialPortInfo> com_ports_list = QSerialPortInfo::availablePorts(); выводит все, которые есть в диспетчере устройств. Например, на многих компьютерах есть COM1, который не подходит для передачи данных. Есть способ такие порты вычислить, чтобы не выводить в списке доступных?
|
|
|
45
|
Qt / Пользовательский интерфейс (GUI) / Организация отображения выполнения нескольких длительных процессов
|
: Май 22, 2019, 12:56
|
Здравствуйте У меня есть графическая программа, которая по нажатию кнопки выполняет последовательность некоторых длительные процессов. Я бы хотел, организовать визуальное отображение процессов для пользователя, а потом это отображение скрыть. В моем представлении это так: есть окно, при нажатии кнопки оно расширяется вниз и в появившейся области начинается отображение выполнения первого процесса (например передача файла по сети). Прогресс этого процесса отображается в QProgressBar. По окончании его начинается следующий (например верификация переданного файла) с QProgressBar и тд. В конце выводится сообщение о том, что все прошло успешно/не успешно и окно принимает первоначальный размер.
С помощью каких виджетов это (отображение состояния процессов) лучше организовать? Какой виджет использовать для отображения процесса? Может, на ваш взгляд, есть хорошая альтернатива расширению окна?
|
|
|
|
|