crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Только цифры в ячейках QTableWidget
kvak
  опции профиля:
сообщение 11.9.2010, 13:24
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 5.5.2010
Пользователь №: 1690

Спасибо сказали: 1 раз(а)




Репутация:   0  


Здравствуйте.
Реально ли сделать так, чтобы при вводе данных в ячейки таблицы класса QTableWidget принимались только цифры ?
(без предварительной установки QLineEdit.)

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MoPDoBoPoT
  опции профиля:
сообщение 11.9.2010, 13:55
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


Написать своего делегата и установить его в QTableWidget.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 11.9.2010, 15:25
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 5.5.2010
Пользователь №: 1690

Спасибо сказали: 1 раз(а)




Репутация:   0  


Спасибо за подсказу, попробую. Правда никогда этого еще не делал.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 11.9.2010, 23:13
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 5.5.2010
Пользователь №: 1690

Спасибо сказали: 1 раз(а)




Репутация:   0  


Я нашел такой пример в QT4, переделал его под QLineEdit. Но немного не понял, как мне в данном случае установить
QIntValidator для объекта класса QLineEdit
Я делал так, в файле delegate.cpp:
//......
QWidget *LineEditDelegate::createEditor(QWidget *parent,
    const QStyleOptionViewItem &/* option */,
    const QModelIndex &/* index */) const
{
    QLineEdit *editor = new QLineEdit(parent);            
    //QValidator *digital = new QIntValidator(this);                // выдаёт
   // editor->setValidator(digital);                              //ошибку
    return editor;
}
//......

Не подскажете, как тут правильно установить QIntValidator для QLineEdit

Прикрепленные файлы
Прикрепленный файл  line.zip ( 14,86 килобайт ) Кол-во скачиваний: 166
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 12.9.2010, 7:33
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


//......
QWidget *LineEditDelegate::createEditor(QWidget *parent,
    const QStyleOptionViewItem &/* option */,
    const QModelIndex &/* index */) const
{
    QLineEdit *editor = new QLineEdit(parent);            
    QValidator *digital = new QIntValidator( editor );
        editor->setValidator(digital);
    return editor;
}
//......

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 12.9.2010, 14:33
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 5.5.2010
Пользователь №: 1690

Спасибо сказали: 1 раз(а)




Репутация:   0  


Спасибо, дошло теперь. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 9:39