Уведомления
Очистить все
Всем доброго времени!
У меня небольшая, но как мне кажется нетривиальная задача. Нужно запретить редактировать значение в QSpinBox через непосредственно ввод этого значения, но разрешить редактировать его через кнопки спинбокса. Хотела сделать так:
ui->testSpinBox->setReadonly(true);
Но в этом случае значение не редактируется и через кнопки тоже. Как можно не сильно усложняя добиться такого эффекта?
Создатель темы Размещено : 03.11.2024 12:57
Привет, нужно подкласс от QSpinBox создать, что-то из серии - extendedspinbox.h:
#ifndef EXTENDEDSPINBOX_H
#define EXTENDEDSPINBOX_H
#include <QSpinBox>
class ExtendedSpinBox : public QSpinBox
{
Q_OBJECT
public:
explicit ExtendedSpinBox(QWidget *parent = 0);
~ExtendedSpinBox();
private:
};
#endif // EXTENDEDSPINBOX_H
extendedspinbox
#include "extendedspinbox.h"
#include <QLineEdit>
ExtendedSpinBox::ExtendedSpinBox(QWidget *parent) :
QSpinBox(parent)
{
lineEdit()->setReadOnly(true);
}
ExtendedSpinBox::~ExtendedSpinBox()
{
delete ui;
}
Соответственно readOnly выставляем только для lineEdit.
Размещено : 05.11.2024 11:33
Добрый вечер! Перенесла в свой проект, работает в точности, как и было надо, спасибо!
Создатель темы Размещено : 05.11.2024 18:13
Размещено : 06.11.2024 12:02