LINUX.ORG.RU

[Qt4] QTableModel для японского кроссворда


0

1

Здравствуйте! На днях решил написать программу, в которой пользователь может решать японские кроссворды и столкнулся с главное проблемой: Мне надо написать какую-нибудь модель для QTableView, что бы, когда пользователь нажимал на ячейку таблицы левой кнопкой мыши она окрашивалась в черный цвет(ячейка), а когда правой, то по середине ее появлялась точка. Кто знаком с японскими кроссвордами понимает о чем речь. Но я абсолютно не имею понятия с чего начать. Подскажите, пожалуйста, как хотя бы приблизительно такое можно реализовать.

Начать с:

а. QAbstractItemModel::data с ролью Qt::DecorationRole (можно вернуть QColor)

б. QAbstractItemView::clicked для обработки мыши

Divius ★★
()
Ответ на: комментарий от Divius

В принципе, тут достаточно делегата, который отрисовывает данные модели нужным цветом и отправляет модели изменения данных по клику мыши.

unC0Rr ★★★★★
()

Я бы не связывался в данном случае с QTableView, а взял бы обычный QGraphicsScene и рисовал бы на нем квадраты, точки и прочее!

P.S. Если напишешь, дай сырцы, давно хочу прикрутить к своей автоматической решалке японских кроссвордов, графический интерфейс, да лень и недостаток времени(а точнее наличие других более интересных задач) не дают! :):):)

Daeloce
()
Ответ на: комментарий от Daeloce

для квадратиков можно и лейблы на грид кинуть

fluorite ★★★★★
()
Ответ на: комментарий от Daeloce

плюсую, лучше в сцене делать... виджеты они каг бэ не для того.

Obey-Kun ★★★★★
()

Во что скатился старый добрый куте.
Что бы закрасить ячейку нужно придумать модель!
4 года назад написал для себя оболочку для решения таких кроссвордов, правда на qt3. Все свелось к обработчику мыши, который закрашивал ячейки.
Если любопытно, могу отдать исходники «как есть».

yax123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.