Название: table и tabs Отправлено: semantic от Январь 05, 2012, 07:40 Здравствуйте. Подскажие пожалуйста, возможно ли у tablewidget реализовать вкладки (tabs)?
Название: Re: table и tabs Отправлено: kambala от Январь 05, 2012, 11:09 самое простое - навешивать QTableWidget внутрь каждой вкладки QTabWidget
Название: Re: table и tabs Отправлено: semantic от Январь 05, 2012, 12:11 Этот вариант имеет место быть, просто в каждой вкладке будет всего один компонент-таблица, и будет не совсем удобно в дальнейшем работать, т.е. открою 10 вкладок, и надо будет узнавать активную вкладку, каким-то образом обратиться к таблице, ну думаю вариантов то и не много у меня!
Название: Re: table и tabs Отправлено: antipart от Январь 05, 2012, 12:19 если правильно понял.. и QTableWidget критично должен быть один
есть еще вариант использовать QTabBar и синхронизировать вкладки с перезагрузкой данных в виджете, но такой вариант лучше применять в связке с Model/View - просто апдейтить модель с разными условиями или разные модели подключать к вьюхе... где-то так. :) Название: Re: table и tabs Отправлено: semantic от Январь 05, 2012, 12:40 если правильно понял.. и QTableWidget критично должен быть один есть еще вариант использовать QTabBar и синхронизировать вкладки с перезагрузкой данных в виджете, но такой вариант лучше применять в связке с Model/View - просто апдейтить модель с разными условиями или разные модели подключать к вьюхе... где-то так. :) да желательно чтоб был table один(так будет намного проще, и не надо их каждый раз создавать) про Ваш вариант не понял. Название: Re: table и tabs Отправлено: antipart от Январь 05, 2012, 12:57 размещаешь на форму QTabBar и QTableWidget
у QTabBar есть сигнал QTabBar::currentChanged ( int index ) в своем слоте в зависимости от значения index загружаешь те или иные данные в QTableWidget приблизительно так: Код: switch(index) но.. опять-таки в данном случае лучше посмотреть в сторону Model/View Название: Re: table и tabs Отправлено: semantic от Январь 05, 2012, 13:03 Код: switch(index) Название: Re: table и tabs Отправлено: antipart от Январь 05, 2012, 13:18 дело то в том что, количество вкладок динамическое, такая проверка не пойдет. в первом вашем посте это не указано... надо более подробно описывать задачу...хорошо, если вкладки динамические ... а данные в них однотипные али нет? т.е. сколько у вас обработчиков один или по больше? каким образом вы формируете набор данных на каждой новой вкладке? Название: Re: table и tabs Отправлено: semantic от Январь 05, 2012, 14:23 хорошо, если вкладки динамические ... а данные в них однотипные али нет? т.е. сколько у вас обработчиков один или по больше? каким образом вы формируете набор данных на каждой новой вкладке? Название: Re: table и tabs Отправлено: antipart от Январь 05, 2012, 14:32 в каждой вкладке будет тока таблица, и все действия тока с ней. это понятно....а данные которыми заполняете таблицу вы как формируете? если вкладок несколько, то подразумевается, что данные меняются... а если вкладки формируются динамически, то и данные должны также формироваться(динамически) т.е. на момент появления новой вкладки вы уже должны знать чем заполнить таблицу на ней... я правильно понял? Название: Re: table и tabs Отправлено: semantic от Январь 05, 2012, 14:46 Цитировать а данные которыми заполняете таблицу вы как формируете? данные это просто list QString-а, который мне будет известенЦитировать если вкладок несколько, то подразумевается, что данные меняются... все верно, так и есть, при создании вкладки я уже буду знать чем заполнить таблицут.е. на момент появления новой вкладки вы уже должны знать чем заполнить таблицу на ней... я правильно понял? Название: Re: table и tabs Отправлено: antipart от Январь 05, 2012, 15:45 Цитировать данные это просто list QString-а, который мне будет известен ну здесь придется хранить эти листы если хочешь использовать один виджет , причем не важно QTableWidget это ил Model/View например так: Код: QList<QStringList> hashList а пото делаешь так как я писал раньше Код: getMyData(hashList.at(index); соответственно при удалении вкладки надо и QStringList в hashList удалять соответсвующий... Название: Re: table и tabs Отправлено: antipart от Январь 05, 2012, 16:16 а если еще буду и столбцы меняться то надо будет хранить по два листа для каждой вкладки
например Код: QList<QPair<QStringList QStringList>> hashList думаю так... Название: Re: table и tabs Отправлено: semantic от Январь 06, 2012, 07:04 antipart т.е. всеже использовать qtabba
Название: Re: table и tabs Отправлено: semantic от Январь 06, 2012, 08:18 вроде да, такой вариант получается! пасиб за помощь.
Название: Re: table и tabs Отправлено: fuCtor от Январь 06, 2012, 13:12 Выкидываем различные списки внешние за ненадобностью. Если нельзя оперировать индексом закладки, то можно оперировать данными привязанными к этой закладке. Читаем документацию по:
Код
При создании задаем нужные данные (хоть указатель на модель). При смене читаем установленные данные по активному индексу PROFIT!!! Название: Re: table и tabs Отправлено: fuCtor от Январь 06, 2012, 13:15 Выкидываем различные списки внешние за ненадобностью. Если нельзя оперировать индексом закладки, то можно оперировать данными привязанными к этой закладке. Читаем документацию по: Код
При создании задаем нужные данные (хоть указатель на модель, хоть QStringList). При смене читаем установленные данные по активному индексу PROFIT!!! Название: Re: table и tabs Отправлено: antipart от Январь 06, 2012, 17:37 Выкидываем различные списки внешние за ненадобностью. Если нельзя оперировать индексом закладки, то можно оперировать данными привязанными к этой закладке. Читаем документацию по: Код
При создании задаем нужные данные (хоть указатель на модель). При смене читаем установленные данные по активному индексу PROFIT!!! да, вы правы, удобное решение, если один QStringList надо хранить... а если два или свой указатель, то здесь, я так понял, уже через Q_DECLARE_METATYPE(MyStruct) Название: Re: table и tabs Отправлено: semantic от Январь 07, 2012, 07:54 Можно, но данный будут генерироваться при создании вкладки, и затем будут при определенных действиях менять в таблице.
Название: Re: table и tabs Отправлено: fuCtor от Январь 07, 2012, 08:58 Выкидываем различные списки внешние за ненадобностью. Если нельзя оперировать индексом закладки, то можно оперировать данными привязанными к этой закладке. Читаем документацию по: Код
При создании задаем нужные данные (хоть указатель на модель). При смене читаем установленные данные по активному индексу PROFIT!!! да, вы правы, удобное решение, если один QStringList надо хранить... а если два или свой указатель, то здесь, я так понял, уже через Q_DECLARE_METATYPE(MyStruct) Можно, но данный будут генерироваться при создании вкладки, и затем будут при определенных действиях менять в таблице. Так меняйте данные и в закладке по мере необходимости. Используя хранения связанных данных в закладке можно решить проблемы сохранения целостности данных, а именно если например закладки поменять местами, то при использовании внешнего хранилища необходимо его синхронизировать, так же при добавлении в произвольное место и удаление любой вкладки. При использовании моего варианта об этом даже думать не нужно будет.Название: Re: table и tabs Отправлено: semantic от Январь 07, 2012, 14:10 немного не понял, мне следить не надо, вкладка будет открываться восновном с одним содержим данных в таблице, и уже в дальнейшем эти данные будут меняться.
|