Просмотр сообщений
|
Страниц: [1] 2 3 4
|
2
|
Qt / Пользовательский интерфейс (GUI) / Использование QMessageBox
|
: Сентябрь 25, 2023, 11:42
|
Добавляю нестандартные кнопки в QMessageBox с помощью вызова addButton(QString, QMessageBox::ButtonRole). Для того, чтобы узнать, какая кнопка была нажата, рекомендуется сохранять указатель на добавленную кнопку и сравнивать его со значением clickedButton(). Но! У меня кнопки добавляются в одном методе, а форма вызывается в другом, сохранять указатели я не хочу. Есть ли другой способ узнать, какая кнопка была нажата?
|
|
|
3
|
Qt / Установка, сборка, отладка, тестирование / qInfo() в режиме отладки
|
: Май 29, 2023, 10:36
|
Здравствуйте.
Столкнулась с проблемой: при запуске в режиме отладки (Qt Creator 7.0.1, отладчик GDB, Qt 5.7.1 для QNX) вывод qInfo() происходит в одну и ту же строку, т.е. каждая новая строка затирает предыдущую. При запуске без отладчика всё нормально, строки выводятся одна за другой.
|
|
|
5
|
Qt / Общие вопросы / Регулярные выражения
|
: Август 16, 2022, 14:08
|
Здравствуйте Есть код: QProcess proc; QStringList env = proc.systemEnvironment(); qDebug() << env; qDebug() << env.indexOf(QRegExp("HOME=*"));
Результат работы кода: +9.215: DBG: ("QT_QPA_PLATFORM=photon:no_offscreen", "_=/tmp/poSKP/bin/poSKP", "LD_LIBRARY_PATH=:/opt/qt571/x86/lib:/opt/mesa3d/x86/lib:/opt/gcc/lib", "SSH_CONNECTION=192.168.180.1 57359 192.168.180.136 22", "PATH=/sbin:/usr/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin:/opt/sbin:/usr/qnx650/host/qnx6/x86/usr/bin:/usr/qnx650/host/qnx6/x86/usr/sbin:/usr/qnx650/host/qnx6/x86/sbin:/usr/qnx650/host/qnx6/x86/bin:/usr/qnx650/host/qnx6/x86/usr/photon/appbuilder", "SHELL=/bin/sh", "MAKEFLAGS=-I/usr/qnx650/target/qnx6/usr/include", "QNX_HELP_HOME_PAGE=/usr/qnx650/target/qnx6/usr/help/product/momentics/bookset.html", "HOSTNAME=modelBM", "USER=root", "TMPDIR=/tmp", "MAIL=/var/spool/mail/root", "PROCESSOR=x86", "HOME=/root", "SSH_CLIENT=192.168.180.1 57359 22", "QNX_HOST=/usr/qnx650/host/qnx6/x86", "QNX_TARGET=/usr/qnx650/target/qnx6", "QNX_HELP_PATH=/usr/qnx650/target/qnx6/usr/help/product", "QNX_CONFIGURATION=/etc/qnx", "LOGNAME=root", "SYSNAME=nto", "PHOTON=/dev/photon") +9.216: DBG: -1
Почему не нашлась строка "HOME=/root" (присутствует в выводе)? OC QNX 6.5.0, Qt 5.7.1
|
|
|
6
|
Qt / Пользовательский интерфейс (GUI) / Изменить ширину QScrollBar
|
: Ноябрь 09, 2020, 17:41
|
Как изменить ширину встроенного скроллбара в QPlainTextEdit (например)? Я делаю так: ui->plainTextEdit->verticalScrollBar()->setFixedWidth(30); ui->plainTextEdit->horizontalScrollBar()->setFixedHeight(30);
Ширина изменяется (это видно по стрелкам), но скроллбар при этом обрезается по внешнему краю до исходной ширины, в результате ширина остаётся прежней. Как сделать, чтобы не обрезался?
|
|
|
8
|
Qt / Пользовательский интерфейс (GUI) / Непонятное удаление cell widget
|
: Январь 17, 2020, 09:31
|
Добрый день. Есть QTableWidget* pMyWidget и QComboBox* pMybox. Делаю pMyWidget->setCellWidget(row, col, pMyBox); Затем, в другом месте: pMyWidget->setCellWidget(row, col, NULL); pMyWidget->removeRow(row); Проблема в том, что объект pMybox удаляется вместе со строкой, и я больше не могу его использовать, а мне надо, чтобы он остался. Почему это происходит, непонятно, т.к. вывод перед удалением строки pMyWidget->cellWidget(row, col) выдаёт 0х0.
|
|
|
9
|
Qt / Пользовательский интерфейс (GUI) / Re: Цвет выделения QListWidgetItem-а
|
: Ноябрь 23, 2019, 11:14
|
Иволга Но если использовать QListView, то метод модели data может выдавать что угодно, в том числе и цвет фона, в зависимости от выделенности, содержания и даже от времени суток Можете пример привести? Я в теме "модель/представление" не очень разбираюсь...
|
|
|
10
|
Qt / Пользовательский интерфейс (GUI) / Re: Цвет выделения QListWidgetItem-а
|
: Ноябрь 23, 2019, 10:47
|
Я это делал через qss QListView { color: rgb(127, 0, 63); background-color: rgb(255, 255, 241); selection-color: white; selection-background-color: rgb(191, 31, 0); }
А где здесь два или больше цвета для выделения? Я вижу только один для текста и один для фона.
|
|
|
11
|
Qt / Пользовательский интерфейс (GUI) / Re: Цвет выделения QListWidgetItem-а
|
: Ноябрь 22, 2019, 13:00
|
Немного переделала, т.к. предыдущий вариант искажает форматирование текстового содержимого item-a. void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { QStyleOptionViewItem myOpt(option);
if (option.state & QStyle::State_Selected) { QPalette pal(myOpt.palette); QVariant var = index.model()->data(index, Qt::UserRole);
pal.setColor(QPalette::Highlight,var.value<QColor>()); myOpt.palette = pal; } QStyledItemDelegate::paint(painter, myOpt, index); }
|
|
|
12
|
Qt / Пользовательский интерфейс (GUI) / Re: Цвет выделения QListWidgetItem-а
|
: Ноябрь 22, 2019, 10:05
|
Нашла такое решение class Delegate : public QStyledItemDelegate { Q_OBJECT public: Delegate(){} void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const { if (option.state & QStyle::State_Selected) { QVariant var = index.model()->data(index, Qt::UserRole); painter->setPen(QColor(Qt::white)); // это не обязательно painter->fillRect(option.rect, var.value<QColor>()); painter->drawText(option.rect, index.model()->data(index, Qt::DisplayRole).toString()); } else QStyledItemDelegate::paint(painter, option, index); } };
В конструкторе формы: ui.listWidget->setItemDelegate(new Delegate());
Где-то внутри программы: QColor color = getMyData() ? QColor(Qt::darkGreen) : QColor(Qt::darkBlue); myItem->setData(Qt::UserRole, color);
|
|
|
13
|
Qt / Пользовательский интерфейс (GUI) / Цвет выделения QListWidgetItem-а
|
: Ноябрь 21, 2019, 11:04
|
Добрый день.
Как для QListWidgetItem-а определять/переопределять цвет, которым он будет выделяться (Highligt) в QListWidget-e? Необходимо использовать два определённых цвета, которые будут назначаться QListWidgetItem-у в зависимости от поступивших данных.
|
|
|
15
|
Qt / Общие вопросы / Re: Перехват stdout
|
: Май 05, 2017, 08:46
|
Всем спасибо , простого и понятного способа вроде QProcess::readAllStandardOutput(), на какой я надеялась, похоже нету, заморачиваться со сложными неохота, поэтому буду переделывать классы. Автор, похоже, так и не нашел туляка-кутешника)) Даже если бы нашёл, вряд ли бы он помог мне. Я работаю с Qt 10 лет уже (начинала ещё в 3-й версии), поэтому простых вопросов здесь не задаю. поэтому накину свои 5 копеек: "свой stdout" вы как делаете? Через printf и cout, классы пришли из не Qt-шного проекта, и должна сохраниться возможность использовать их без графики. Поэтому добавлю emit logMessage(QString); Возможности 5-й версии мне недоступны, т.к. пишу в 4.8.6, таково требование заказчика.
|
|
|
|
|