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