Главная

Главная

Сообщество

Сообщество

Форум

Форум

STM32

STM32

Электроника

Электроника

Raspberry Pi

Raspberry Pi

Уведомления
Очистить всё

[Решено] readonly QSpinBox с работающими стрелками

(@elena26)
Level 1

Всем доброго времени!

У меня небольшая, но как мне кажется нетривиальная задача. Нужно запретить редактировать значение в QSpinBox через непосредственно ввод этого значения, но разрешить редактировать его через кнопки спинбокса. Хотела сделать так:

ui->testSpinBox->setReadonly(true);

Но в этом случае значение не редактируется и через кнопки тоже. Как можно не сильно усложняя добиться такого эффекта?


Цитата
Автор темы Опубликовано : 03.11.2024 12:57
Метки темы
Aveal MT
(@aveal)
Top level Admin

Привет, нужно подкласс от 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
(@elena26)
Level 1

Добрый вечер! Перенесла в свой проект, работает в точности, как и было надо, спасибо!


ОтветЦитата
Автор темы Опубликовано : 05.11.2024 18:13
Aveal MT
(@aveal)
Top level Admin

Автор: @elena26
↑

Добрый вечер! Перенесла в свой проект, работает в точности, как и было надо, спасибо!

Обращайся )

 


ОтветЦитата
Опубликовано : 06.11.2024 12:02
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.