Dec. 26, 2018, 11:38 a.m.

Как узнать что 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"

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
7

Добрый день!

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

if (tableView->model()->rowCount() > 0)
{
    qDebug() << "Not empty";
}
else
{
    qDebug() << "Is empty";
}

спасибо

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

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

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

Да, вы правы.

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

if (tableView->model() && tableView->model()->rowCount() > 0)
{
    qDebug() << "Not empty";
}
else
{
    qDebug() << "Is empty";
}

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

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

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

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

надо так

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

или так

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

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

  • Dec. 26, 2018, 12:25 p.m.
  • The answer was marked as a solution.

пробовал

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

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

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

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

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

VL
Jan. 20, 2020, 12:42 p.m.
Vova Lebedev

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1
VL
Jan. 20, 2020, 12:33 p.m.
Vova Lebedev

C++ - Test 001. The first program and data types

  • Result:80points,
  • Rating points4
AP
Jan. 20, 2020, 5:48 a.m.
Anastassiya Polyakova

C++ - Тест 003. Условия и циклы

  • Result:57points,
  • Rating points-2
Last comments
Jan. 17, 2020, 2:31 a.m.
Andrej Jankovich

Выглядит как ошибка библиотеки. Расскажите подробно на какой платформе вы собираете проект (MinGW или MSVC) их версии и версии Qt.
D
Jan. 16, 2020, 12:06 p.m.
DENIZ1819

Доброго времени суток, не подскажите, что делать в данной ситуации, после того, как я сделал все вышеуказанные инструкции для подключения библиотеки к проекту?
Jan. 14, 2020, 5:33 a.m.
Evgenij Legotskoj

Рекомендую Wt, достаточно мощная вещь. Этот фреймворк может использоваться для написания сайтов на C++, либо можно использовать только отдельный компоненты, например только ORM. Но я не знаю, ка…
a
Jan. 14, 2020, 5:29 a.m.
ayb

Спасибо за инфу. Поиск качественной ORM привел меня только к sqlite_orm, но не подходит из-за необходимости полноценной поддержки c++14. Про framework Wt не слышал, спасибо за наводку.
Jan. 14, 2020, 2:50 a.m.
Evgenij Legotskoj

Вы заблуждаетесь. Любая нормальная ORM позволяет выполнение сырых SQL запросов. А если хорошо разобраться в работе моделей данных в Qt, то не составит труда использовать ORM вместе с Qt, ту же с…
Now discuss on the forum
VZ
Jan. 20, 2020, 2:37 p.m.
Vladimir Zhitkovsky

Еще не очевидное поведение оказалось, что сигнал onVisibleChanged родительского элемента может вызваться раньше, чем вызовуться onCompleted дочерних компонентов.. как мне очень странно. А вот на…
Jan. 20, 2020, 1:49 p.m.
Evgenij Legotskoj

Добрый день, Касательно удаления строк. Любой QTableView класс, или наследованый от него имеет метод selectionModel() , который возвращает QItemSelectionModel . А эта…
Jan. 20, 2020, 1:38 p.m.
Evgenij Legotskoj

Добрый день, Я не работал с iOS, поэтому могу только догадываться, не может ли быть проблема в самом url? То есть не может ли быть какой-то другой путь в Qt, а не file:assets-lib…
Jan. 20, 2020, 1:35 p.m.
Evgenij Legotskoj

Добрый день. В Qt по сути используется MV шаблон проектирования. Поскольку контроллер и представление объединены в представлении. Так что да, вы понимаете правильно суть Qt. Насчёт тормозов…
m
Jan. 20, 2020, 11:14 a.m.
mihamuz

Совершенно верно. Только увидел Ваше сообщение:)
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB