Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Qt Desktop TableColumn


Автор: leamas 24.1.2014, 17:07
Доброго времени суток!
У меня большое подозрение, что я вообще не в ту сторону копаю...
Помогите, пожалуйста, разобраться!
У меня задача динамически создавать таблицу средствами QtQuick. При том, что количество столбцов у неё может быть разное.
Таблица с фиксированным количеством столбцов создается без проблем, а вот изменить их количество не получается :-(
Пытаюсь сделать новый объект:
Создаю файл TblClmn.qml
Код

import QtQuick 1.1
import QtDesktop 0.1

TableColumn{
    width: 160
    visible: true
    title: "title"
    role: "role"
}

Потом в основном файле .qml создаю объект и таблицу:
Код

property Component tblCol: Qt.createComponent("TblClmn.qml")

 ListModel {
        id: dummyModel
    }
 TableView{
        id:tblview
        model: dummyModel
        anchors.fill: parent
}
 function tcPropertes()
    {       
          var yyy = tblCol.createObject(tblview, {"title": "Name"});
    }

И по событию вызываю tcPropertes().
Ошибок не выдаёт, но и таблицу не показывает :-(

Автор: vinter 24.1.2014, 17:27
leamas, посмотри какие-нибудь вводный по QML. Ты вообще что-то несуразное делаешь. У тебя модель пустая, что, по твоему, должно содержаться в таблице?

Начин с элементарных примеров по работе с моделями в QML, они есть в документации.

Автор: leamas 24.1.2014, 20:52
Почему несуразное?
Если сделать так:
Код

 ListModel {
        id: dummyModel
    }
 TableView{
        id:tblview
        model: dummyModel
        anchors.fill: parent

        TableColumn{
            id: tc0
            visible: true
            title: "Name"
        }

то вполне себе создаётся таблица с одним столбцом... только без данных - их я потом добавляю через 
Код

dummyModel.append()

Элементарные примеры показывают как создать таблицу, если заранее известно сколько у неё столбцов, а у меня как раз и проблема в том, что мне надо программно менять количество столбцов...

Автор: vinter 25.1.2014, 07:41
leamas, в твоём коде нет append, вообще. Такие вещи делаются не в javascript, а в С++, через модели. Если конечно у тебя не чисто QML приложение. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)