Михаиллл
МихаилллЖел. 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)
              

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

                Пікірлер

                Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                Кіріңіз немесе Тіркеліңіз
                OI
                • Ora Iro
                • Жел. 24, 2024, 5:38 Т.Қ.

                C++ - Тест 001. Первая программа и типы данных

                • Нәтиже:40ұпай,
                • Бағалау ұпайлары-8
                AD

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

                • Нәтиже:50ұпай,
                • Бағалау ұпайлары-4
                m
                • molni99
                • Қаз. 26, 2024, 11:37 Т.Ж.

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

                • Нәтиже:80ұпай,
                • Бағалау ұпайлары4
                Соңғы пікірлер
                ИМ
                Игорь МаксимовҚар. 22, 2024, 10:51 Т.Қ.
                Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                Evgenii Legotckoi
                Evgenii LegotckoiҚар. 1, 2024, 12:37 Т.Ж.
                Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                A
                ALO1ZEҚаз. 19, 2024, 6:19 Т.Қ.
                Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                ИМ
                Игорь МаксимовҚаз. 5, 2024, 5:51 Т.Қ.
                Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                d
                dblas5Шілде 5, 2024, 9:02 Т.Қ.
                QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                Енді форумда талқылаңыз
                n
                nklyҚаң. 3, 2025, 1:52 Т.Қ.
                Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                AW
                Ayden WatkinsҚаң. 2, 2025, 11:09 Т.Ж.
                Why Paying for a Research Paper Can Be a Smart Choice Writing a research paper can be a daunting task, especially when faced with tight deadlines, complex topics, or a lack of resources. For many students, paying for a research paper is a practical…
                p
                pimacontrols85Жел. 31, 2024, 8:39 Т.Қ.
                Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
                Donald Randolph
                Donald RandolphЖел. 30, 2024, 1:59 Т.Қ.
                Personal Injury lawyer Santa Monica As an experienced Santa Monica personal injury lawyer, Donald C. Randolph has recovered over $100 Million in verdicts and settlements for our clients. In severe injury cases, this compensation i…
                Nirvana Yoga School
                Nirvana Yoga SchoolЖел. 30, 2024, 4:13 Т.Қ.
                OAuth2.0 через VK, получение email Nirvana Yoga School is one of the most trusted and reputed traditional Rishikesh yoga courses , India certified by Yoga Alliance, USA. We aim to spread traditional yoga teachings so t…

                Бізді әлеуметтік желілерде бақылаңыз