Михаиллл
Михаиллл26 декабря 2018 г. 11:38

Как узнать что QTableView пуст?

QT, QTableView

Здравствуйте.
Как узнать что QTableView пуст?
Тут пока работает

    QModelIndex IndexForTableView = ui->AllVacancyCompanyTableView->currentIndex();
    qDebug()<<IndexForTableView;

Выдает: QModelIndex(-1,-1,0x0,QObject(0x0))
Дальше пишу:

qDebug()<< ui->AllVacancyCompanyTableView->model()->data(ui->AllVacancyCompanyTableView->model()->index(IndexForTableView.row(),0),0);

и на этом моменте вылетает, хотя по логике должно выдавать "-1"

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

7
Evgenii Legotckoi
  • 26 декабря 2018 г. 11:44

Добрый день!

Это так работает

if (tableView->model()->rowCount() > 0)
{
    qDebug() << "Not empty";
}
else
{
    qDebug() << "Is empty";
}
    Михаиллл
    • 26 декабря 2018 г. 11:46

    спасибо

      Михаиллл
      • 26 декабря 2018 г. 11:54

      Если TableView не заполнен, то на

      qDebug()<< ui->AllVacancyCompanyTableView->model()->rowCount();
      

      вылетает, а если заполнен, то все прекрасно.
      видимо обращается к несуществующей модели.

        Evgenii Legotckoi
        • 26 декабря 2018 г. 11:56

        Да, вы правы.

        Вы можете предварительно сделать проверку на существование модели

        if (tableView->model() && tableView->model()->rowCount() > 0)
        {
            qDebug() << "Not empty";
        }
        else
        {
            qDebug() << "Is empty";
        }
        
          Михаиллл
          • 26 декабря 2018 г. 12:04

          Вылетает.
          Видимо нужно проверить модель на равенство 0*0, но как это сделать?

          if (ui->AllVacancyCompanyTableView->model() == QAbstractItemModel(0x0))
          

          так не компилируется

            Evgenii Legotckoi
            • 26 декабря 2018 г. 12:06

            или на nullptr проверять или просто в условие закидывать, а такое как вы написали больше никогда не пишите ))

            надо так

            if (ui->AllVacancyCompanyTableView->model())
            

            или так

            if (ui->AllVacancyCompanyTableView->model() == nullptr)
            

            Но первый вариант короче, а делают они одно и тоже

              Михаиллл
              • 26 декабря 2018 г. 12:25
              • Ответ был помечен как решение.

              пробовал

              if (ui->AllVacancyCompanyTableView->model())
              

              выкидывало
              так

              if (ui->AllVacancyCompanyTableView->model() == nullptr)
              

              заработало
              спасибо

                Комментарии

                Только авторизованные пользователи могут публиковать комментарии.
                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                AD

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Результат:50баллов,
                • Очки рейтинга-4
                m
                • molni99
                • 26 октября 2024 г. 11:37

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Результат:80баллов,
                • Очки рейтинга4
                m
                • molni99
                • 26 октября 2024 г. 11:29

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Результат:20баллов,
                • Очки рейтинга-10
                Последние комментарии
                i
                innorwall15 ноября 2024 г. 8:26
                Qt/C++ - Урок 031. QCustomPlot - строим график по времени buy generic priligy We can just chat, and we will not lose too much time anyway
                i
                innorwall15 ноября 2024 г. 6:03
                Qt/C++ - Урок 060. Настройка внешнего вида приложения в рантайме I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
                i
                innorwall14 ноября 2024 г. 22:42
                Как Копировать Файлы в Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
                i
                innorwall14 ноября 2024 г. 20:09
                Qt/C++ - Урок 068. Hello World с использованием системы сборки CMAKE в CLion ditropan pristiq dosing With the Yankees leading, 4 3, Rivera jogged in from the bullpen to a standing ovation as he prepared for his final appearance in Chicago buy priligy pakistan
                Сейчас обсуждают на форуме
                i
                innorwall14 ноября 2024 г. 14:39
                добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
                i
                innorwall11 ноября 2024 г. 21:55
                Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                9
                9Anonim25 октября 2024 г. 19:10
                Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                ИМ
                Игорь Максимов3 октября 2024 г. 14:05
                Реализация навигации по разделам Спасибо Евгений!

                Следите за нами в социальных сетях