Russian Qt Forum
Ноябрь 22, 2024, 10:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Круги в таблице QTableWidget, имитация графики  (Прочитано 4176 раз)
alexu007
Чайник
*
Offline Offline

Сообщений: 58


Просмотр профиля
« : Май 05, 2022, 10:19 »

Рисование цветных кругов в ячейках таблицы QTableWidget, псевдографика. Подходит для игры Го и подобных:

Код:
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLabel>



QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

public slots:
    void press_pbtn_01();
    void table_clik(int, int);

};
#endif // WIDGET_H


Код:
#include "widget.h"
#include "ui_widget.h"



Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // отключение курсора
    ui->tableWidget->setSelectionMode(QAbstractItemView::NoSelection);

    // инициализация таблицы
    for(int i = 0; i < 10; i++)
        for(int j = 0; j < 10; j++)
        {
            ui->tableWidget->setCellWidget(i ,j, new QLabel);
        }



    QObject::connect(ui->pbtn_01,SIGNAL(clicked()),this,SLOT(press_pbtn_01()));

    QObject::connect(ui->tableWidget,SIGNAL(cellClicked(int, int)),
                                               this,SLOT(table_clik(int, int)));

}



Widget::~Widget()
{
    delete ui;
}



// clear
void Widget::press_pbtn_01()
{
    QString str = "border-radius: 13px; background-color:white;";

    for(int row = 0; row < 10; row++)
        for(int col = 0; col < 10; col++)
        {
            QLabel *lbl(qobject_cast<QLabel*>(ui->tableWidget->cellWidget(row, col)));
            lbl->setStyleSheet(str);
        }

    this -> repaint();
}




// клик в таблицу
void Widget::table_clik(int row, int col)
{
    static int cx = 0;

    QString str = "border-radius: 13px; background-color:red;";
    if(cx % 2) str = "border-radius: 13px; background-color:blue;";

    QLabel *lbl(qobject_cast<QLabel*>(ui->tableWidget->cellWidget(row, col)));

    lbl->setFixedSize(26, 26);
    lbl->setStyleSheet(str);

    cx++;
}

« Последнее редактирование: Май 05, 2022, 10:20 от alexu007 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Май 05, 2022, 12:06 »

а про гитхаб и прочие хранилища репозиториев ты не слышал?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
alexu007
Чайник
*
Offline Offline

Сообщений: 58


Просмотр профиля
« Ответ #2 : Май 05, 2022, 13:13 »

Слышал, и даже заходил - но ни разу имеющаяся там информация мне не помогла. Набор каких-то ссылок на файлы, не имеющие полезной информации - по крайней мере для меня.

А в чём проблема? Тема называется "Кладовая готовых решений", я как раз и выкладываю готовые решения, полезные для новичков, тех кто делает первые шаги в Qt.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Май 05, 2022, 14:38 »

речь о размещении исходников там, а не архивом как 20 лет назад Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
alexu007
Чайник
*
Offline Offline

Сообщений: 58


Просмотр профиля
« Ответ #4 : Май 05, 2022, 17:18 »

Russian Qt Forum - будем поддерживать отечественного производителя. И импортозамещение.
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #5 : Май 05, 2022, 21:51 »

Угу. А через N лет либо форум накроется, либо всё сгинет в неизвестность.
На гитхабе такое лучше размещать - правильно советуют.
P.S. Хотя, судя по оформлению кода - этот код нужен только автору.
Записан

sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #6 : Май 06, 2022, 12:48 »

Угу. А через N лет либо форум накроется
...
Он уже накрылся, после того как здесь появился зероинтеллект.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #7 : Май 06, 2022, 13:21 »

Он уже накрылся, после того как здесь появился зероинтеллект.
Тут пробема не в том странном пользователе, а в том, что здесь модераторов нет.
Хотя, форумы уж вымерли, похоже. Особой активности даже на зарубежных нет. Многие по социальным сетям заныкались и там  сидят. В гордом одиночестве. Приятно же поговорить с умным человеком, правда? Подмигивающий
Записан

qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #8 : Май 11, 2022, 16:12 »

Говнокодеры в основном на стековерфлоу тусуются. Это форум или что?
Записан
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #9 : Май 11, 2022, 16:13 »

Угу. А через N лет либо форум накроется, либо всё сгинет в неизвестность.
Через N лет и гитхаб накроется.
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #10 : Май 11, 2022, 17:36 »

Через N лет и гитхаб накроется.
Когда то и солнце погаснет. Надо прямо сейчас начинать паниковать? Улыбающийся
Ну не нравится гитхаб - есть гитлаб. Либо, можно, вообще свой сервер поднять.
Записан

qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #11 : Май 11, 2022, 23:23 »

Именно для нас гитхаб может накрыться в любой момент в свете санкций. И вообще GIT отстой.
Записан
tux
Global Moderator
Бывалый
*****
Offline Offline

Сообщений: 404



Просмотр профиля
« Ответ #12 : Май 11, 2022, 23:28 »

Не накроется. Блокировки никому особо не мешают. Да и не мешали.
Впрочем, лично вам никто не мешает сделать свой хаб. С блекджеком и поэтессами. И поделиться им с остальным миром. Будет свой русхаб. Посконый, домотканый и очень кондовый. Веселый
« Последнее редактирование: Октябрь 09, 2022, 21:19 от tux » Записан

qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #13 : Май 12, 2022, 09:40 »

Не накроется. Блокировки никому особо не мешают. Да и не мешали.
Впрочем, лично вам никто не мешает сделать свой хаб. С блекджеком и поэтессами. И поделиться им с остальным миром. Будет свой русхаб. Посконый, домокканый и очень кондовый. Веселый
Российский закон мешает. Нежелание тратить на это свои деньги и свой труд мешает. Если на Вашем сайте начнут размещать запрещённые материалы, то Вы пойдёте как соучастник преступления. Вместо говнокода можно постить призывы к свержению власти в файлах с расширением .с. Это Вам как идея.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.