Digit QTableWidget |
Здравствуйте, гость ( Вход | Регистрация )
Digit QTableWidget |
werwolf |
14.1.2010, 3:14
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.9.2009 Пользователь №: 1112 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте, подскажите как в QTableWidget сделать ограничение на ввод только цифр (во всех ячейках)?
|
|
|
Litkevich Yuriy |
14.1.2010, 6:41
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Установить делегат, в котором для виджета редактора установить соответствующий QValidator
|
|
|
werwolf |
14.1.2010, 12:41
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.9.2009 Пользователь №: 1112 Спасибо сказали: 0 раз(а) Репутация: 0 |
А можно немного поподробнее как это сделать?
И появился еще один вопрос: как выделить и-ю строку(ячейку) другим цветом? |
|
|
igor_bogomolov |
14.1.2010, 13:24
Сообщение
#4
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
А можно немного поподробнее как это сделать? Класс делегата можно написать примерно так.h
.cpp
появился еще один вопрос: как выделить и-ю строку(ячейку) другим цветом? void QTableWidgetItem::setBackground ( const QBrush & brush )Или же опять таки через делегат, перекрыв в нем paint |
|
|
werwolf |
14.1.2010, 14:06
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 19.9.2009 Пользователь №: 1112 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо ! Я только начал разбирать пример SpinBoxDelegate, как появилось готовое решение, только вместо QIntValidator я использовал QDoubleValidator.
Но второй вопрос остается открытым, если брать setBackgroundRole ( QPalette::ColorRole ) , то я закрашу всю таблицу, а мне нужно только одну ячейку ( i, j ) либо все ячейки строки (это можно потом организовать в цикле, если есть возможность закрасить одну ячейку). |
|
|
Litkevich Yuriy |
14.1.2010, 14:18
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
14.1.2010, 14:28
Сообщение
#7
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
setBackgroundRole задает цвет для всего виджета.
Используй следующие мотоды чтобы установить/получения item таблицы:
для этих item и задавай цвет используя Цитата void QTableWidgetItem::setBackground ( const QBrush & brush ) Или же делай через делегат, что эффективнее. |
|
|
Текстовая версия | Сейчас: 28.12.2024, 12:59 |