Russian Qt Forum

Qt => Model-View (MV) => Тема начата: qlostTV от Февраль 06, 2012, 07:42



Название: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 07:42
Здравствуйте, нужно реализовать ftp. Стандартной модели (как например QFilesystemModel ) не увидел, т.е. возникает вопрос, возможно ли создать свою модель для работы с ftp, может где есть примеры, или кто-то такое уже реализовывал, поделитесь опытом.


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 09:18
В учебники. В ассистант.

Home -> Examples -> File System Example


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 11:03
В учебники. В ассистант.

Home -> Examples -> File System Example

какой-о смутный пример, xml и т.д., но я так понимаю, нужно создавать свою модель для работы с ftp.


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 12:06
Если вас не устраивают стандартные - дерзайте.
Все примеры "смутные", пока с ними не разберёшься.

PS ФТП можно представить стандартными деревьями, списками, таблицами. Всё зависит от вашей задумки и желания.


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 12:15
PS ФТП можно представить стандартными деревьями, списками, таблицами. Всё зависит от вашей задумки и желания.
да мне нужно, простой просмоторщик фтп, банальные действия делать, хотя бы переход по каталогам, копирование и удаление=)


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 12:52
Я вам и отвечаю. полюбому можно представить. В том же проводнике реализованы все 3 вида - древовидный и значками(табличный) и списком.

Вот и выбирайте, как отображать, что отображать и пишите-пишите-пишите.


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 13:02
Я вам и отвечаю. полюбому можно представить. В том же проводнике реализованы все 3 вида - древовидный и значками(табличный) и списком.

Вот и выбирайте, как отображать, что отображать и пишите-пишите-пишите.

А как потом моделями можно оперировать? т.е. есть модель для файловой системы, и для ftp


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 13:05
Можно написать модель, одинаковую и для файловой системы и фтп (по сути, фтп это та же файловая система, только удалённо).

А если они равны, зачем писать 2 модели?


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 13:10
Можно написать модель, одинаковую и для файловой системы и фтп (по сути, фтп это та же файловая система, только удалённо).

А если они равны, зачем писать 2 модели?
Полностью согласен, тогда от стандартной типо QFileSystemModel отказаться, и писать свою для обоих случаев.

Эх что-то даже пока ни знаю с чего начать, как это все выглядеть будет=)


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 13:17
Зачем отказываться от неё? просто наследуйся и переписывай под себя ^.^

PS напиши простейшую модель. Аля древовидный список с возможностью добавления/удаления/перемещения. И сразу получишь полезный навык работы с моделями ;)


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 13:20
Зачем отказываться от неё? просто наследуйся и переписывай под себя ^.^

PS напиши простейшую модель. Аля древовидный список с возможностью добавления/удаления/перемещения. И сразу получишь полезный навык работы с моделями ;)
да опыта получу!
т.е. мне в сомой модели надо каким-то образом различать, с локальной ФС пользователь работает или с ftp, самая загвоздка в этом определении как она знать будет, а уж с удалением, созданием и т.д. разберусь, гугл много чего дает=)


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 13:24
Сама модель - это просто класс, в котором ты можешь переключать всё что душе угодно.
Как определять будет? Шли ей флаг.


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 13:32
Сама модель - это просто класс, в котором ты можешь переключать всё что душе угодно.

Как определять будет? Шли ей флаг.

не красиво будет, к примеру
будет метод создания каталога
Код:
if(flagFTP){
//проверка прав доступа на фтп, затем создание
}else
{
//проверка прав доступа в локальной ФС, затем создание
}

и это будет чуть ли не в каждом методе(про всякие проверки), или я опять уже туплю=)))


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 13:42
Оффтоп: Ну, не буду переубеждать... Делай 3 модели. Ставь их каждый раз заного. Одну на файловую систему, вторую на ФТП, третью тоже куда-нибудь ^.^

Не хочешь условий и флагов - создавай 2 модели. Как их ставить будешь, я хз.

Вот только в этом случае у тебя будет дублирование всего кода, не?

Хотя я бы на твоём месте, сначала определился бы, как взаимодействие будет происходить. Интерфейс какой. Какой функционал.


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 13:51
Оффтоп: Ну, не буду переубеждать... Делай 3 модели. Ставь их каждый раз заного. Одну на файловую систему, вторую на ФТП, третью тоже куда-нибудь ^.^
Да и сам не знаю, поэтому прошу помощи у более опытных людей!
Вот только в этом случае у тебя будет дублирование всего кода, не?
Цитировать
еще какое=)
Цитировать
Хотя я бы на твоём месте, сначала определился бы, как взаимодействие будет происходить. Интерфейс какой. Какой функционал.
да это будет простой графический фтп клиент,в одной таблице файловая система, в другой удаленная=)  ну хочется его написать, заодно и прощупать Qt!


Название: Re: QTableView модель для работы с Ftp
Отправлено: Bepec от Февраль 06, 2012, 14:18
Пиши 2 модели. Так тебе проще будет.


Название: Re: QTableView модель для работы с Ftp
Отправлено: qlostTV от Февраль 06, 2012, 14:21
Пиши 2 модели. Так тебе проще будет.
т.е. из контекста моей задачи, уже лучше написать две модели? я тя не пойму, то одну то две! Вообще хочу как правильнее, правильно и то и другое ФС, т.е. модель должна быть одной. попробую ее реализовать=)