Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
ПБ
Jan. 17, 2019, 11:44 a.m.

Qt, Qml, QAbstractTableModel

Ребята, привет. Есть таблица, созданная через QAbstractTableModel. Она являются частью приложения, и в ней отображаются некторые данные. Задача сосстоит в следующем. По нажатию на кнопку необходимо открыть окошко с таблицей, колонками которой являются: чекбокс, название колонок первоначальной таблицы. Необходимо отметить чекбоксы для колонок, которые должны отображаться в первоначальной таблице (желательно через свойство visible элемента TableViewColumn). Ну и по нажатию кнопки в этом окошке закрыть его, изменив первоначальную таблицу. Подскажите идеи!

1

у меня просто есть отдельное поле с чекбоксамими какие колонки нужно отображать

CheckBox 
{
         id: checkBox
         text: qsTr("some text")
         checked: true      
         onCheckedChanged:
         {
               if(checkBox.checked)
               {
                     n.visible=true //n - колонка которая тебе нужна
               }
               else n.visible=false
         }
}

TableView
{
    anchors.fill: parent
    TableViewColumn
    {
        id: n
        title: "some text"
        role: "role"
    }
}

я так понимаю не обязательно в окошке таблицу, можно просто поле с чекбоксами и названиями колонок, а чтоб не городить с окнами, можно это поле сделать просто скрытым и по нажатию оно будет отображаться, тогда чекбоксы будут взаимодействовать напрямую с таблицей основной

1

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Last comments
Feb. 21, 2019, 12:51 p.m.
Евгений Легоцкой

Иногда CMake приходится перезапускать начисто, не обновляет кэш
R
Feb. 21, 2019, 12:29 p.m.
RandyGallup

Я указал данные строки, т.к. без них у меня вылетала следующая ошибка: By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configurat...
Feb. 21, 2019, 12:08 p.m.
BlinCT

Вот атк выглядит мой проектник, посмотрите его. cmake_minimum_required(VERSION 3.6)project(projecttimer)set(CMAKE_CXX_STANDARD 11)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)find_packa...
Feb. 21, 2019, 12:04 p.m.
BlinCT

Смотрите, если вы используете глобально для проекта -DCMAKE_PREFIX_PATH= то вам не надо уже указывать вот эти строкиset(Qt5Core_DIR "C:/Qt/5.12.1/mingw73_64/lib/cmake/Qt5Core")set(Qt5Gui_DIR...
R
Feb. 21, 2019, 11:54 a.m.
RandyGallup

Даже не запускается. main.cpp у меня точно такой же, как в статье. CMakeLists.txt пришлось немного подправить (прикрепил ниже), т.к. не находились некоторые файлы. cmake_minimum_requi...
Now discuss on the forum
Feb. 21, 2019, 8:58 a.m.
Евгений Легоцкой

Ну у меня координаты передавались в зависимости от положения курсора мыши, а в вам по сути нужно будет аналогичным способом посылать даннные из полей ввода. Так что здесь скорее интерфес...
Feb. 20, 2019, 9:55 p.m.
Евгений Легоцкой

Не до конца понимаю сути вопроса, наверное, нужно увидеть программный код и попытку его применения, но к методам базового класса можно обращаться в наследованном классе через вызов по имени ба...
MU
Feb. 20, 2019, 3:06 p.m.
Maciej Urmański

Yes, ok I have solution! Thank you for directing me about annotate.:) Solution is: users_in = User.objects.filter(joined_users__goal=goal, joined_users__joined=True)
Feb. 20, 2019, 2:40 p.m.
Евгений Легоцкой

Думаю, что ещё можно переопределить mouseReleaseEvent(QMouseEvent* event) у QTableView, который содержит модель и немного поиграться с индексом. Если это индекс, который соответству...
Feb. 20, 2019, 10:34 a.m.
Евгений Легоцкой

Да, так тоже можно. Единственный момент в том, что lupdate не всегда понимает, к какому контексту это дело относится, и может запихать в левый контекст. В небольшом проекте это не критич...
Join us in social networks

For registered users on the site there is a minimum amount of advertising