Пытался разобраться как добавить чекбоксы на представление. Нашел один вариант: ссылка Так приведен такой вариант решения
QVector<int> status;
int SData::getStatus(int pos)
{
return status.at(pos);
}
void SData::setStatus(int pos,int value)
{
status.insert(pos, value);
}
QVariant STableModel::data(const QModelIndex &index, int role) const
{
if (!index.isValid())
return QVariant();
if (role == Qt::DisplayRole)
return rowList[index.row()][index.column()];
else if (role == Qt::CheckStateRole && index.column() == 0)
{
int status = SData::instance().getStatus(index.row());
if (status)
return Qt::Checked;
else
return Qt::Unchecked;
}
else
return QVariant();
}
bool STableModel::setData(const QModelIndex &index,
const QVariant &value, int role)
{
if (!index.isValid() /*|| role != Qt::EditRole*/)
return false;
if (role == Qt::CheckStateRole)
{
if ((Qt::CheckState)value.toInt() == Qt::Checked)
{
SData::instance().setStatus(index.row(),1);
return true;
}
else
{
SData::instance().setStatus(index.row(), 0);
return true;
}
}
Непонятна эта часть кода:
int SData::getStatus(int pos)
{
return status.at(pos);
}
void SData::setStatus(int pos,int value)
{
status.insert(pos, value);
}
SData это класс наследованный от чего? getStatus и setStatus это статические методы класса?
И больше всего непонятна конструкция:
int status = SData::instance().getStatus(index.row());
instance() ? Это что? Как им пользоваться? Это метод наследного класса? Если да, то какого?
В принципе, удалось, разобраться. instance() оказался реализацией Singleton- заключается в использовании локальной статической переменной метода instance, хранящей единственный экземпляр класса (Синглтон Меерса).Блягодаря этой статье На данном этапе все заработало. Дальше буду разбираться.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть слой, который заполняется виджетами
Подскажите пожалуйста - использую для ввода десятичного числа, почему-то по умолчанию выводит вместо точки запятую, хотя в обучалках показывает...
Клиент на qt перестал подключаться к вебсокету, хотя сервер работает исправноК серверу подключен cloudflare, подключение осуществляется через...
После установки свежей VS 2019 заметил, что отсутствует возможность выбрать Windows XP Support в настройках проекта (v141_xp toolset раньше назывался)Эту фичу...