Название: Окно редактирования записи из QTableView Отправлено: djfile от Декабрь 13, 2012, 20:58 Здравствуйте. Подскажите, как лучше сделать. Хочу создать QTableView, с соответствующей моделью, где будет несколько столбцов. Думаю редактирование организовать, так чтобы, по двойному клику по строке открывалось окно, где будут перечислены те же значения, что и в строке таблицы, но уже парами: QLabel - QLineEdit(или что-то другое).
Вопрос в том, как лучше передавать данные из таблицы в окно и потом по клику на ОК обратно? Или есть другие варианты, более Qt-way? Название: Re: Окно редактирования записи из QTableView Отправлено: kambala от Декабрь 13, 2012, 22:03 если редактор предполагается быть модальным, то считывать результирующие строки по выходе из exec(), иначе — сигналы-слоты.
ну а передавать в редактор — через конструктор и/или сеттеры. Название: Re: Окно редактирования записи из QTableView Отправлено: djfile от Декабрь 13, 2012, 22:23 Понятно. Значит тупо в лоб=) Просто я один раз в другой программе так делал и был следующий глюк: я создавал окно при первом запуске, потом держал указатель на него и при следующем вызове также вызывал сеттеры, затем exec(), но при появлении в окне "мигали" значения, которые были при предыдущем вызове. Тогда я стал создавать окно на стеке, "мигать" перестало, но иногда интерфейс чуть притормаживал при создании.
Название: Re: Окно редактирования записи из QTableView Отправлено: kambala от Декабрь 13, 2012, 22:28 widget->hide();
widget->set...(); ... widget->show(); Название: Re: Окно редактирования записи из QTableView Отправлено: djfile от Декабрь 13, 2012, 22:33 Это в сеттерах окна?
Название: Re: Окно редактирования записи из QTableView Отправлено: kambala от Декабрь 13, 2012, 22:49 это как выставлять новые значения без мигания старых (окно по идее не должно мигать)
Название: Re: Окно редактирования записи из QTableView Отправлено: djfile от Декабрь 13, 2012, 23:32 Если я правильно понял, я раньше так и делал. Пользователь жмакал на строку, открывалось окно, в нём он что-то делал или ничего не делал, жал на OK или Cancel, окно естественно исчезало. Потом пользователь жал на другую строку и при открытии окна оно мегало, несмотря на то, что значения лайн едитов и пр. устанавливал до exec()
Название: Re: Окно редактирования записи из QTableView Отправлено: twp от Декабрь 13, 2012, 23:38 widget->hide(); widget->set...(); ... widget->show(); а чего не так? Код
Название: Re: Окно редактирования записи из QTableView Отправлено: kambala от Декабрь 13, 2012, 23:53 а потому что я про этот метод забыл :)
Название: Re: Окно редактирования записи из QTableView Отправлено: djfile от Декабрь 14, 2012, 08:33 а чего не так? Код
Вот про это не знал, спасибо. Название: Re: Окно редактирования записи из QTableView Отправлено: panAlexey от Декабрь 16, 2012, 16:58 Вопрос в том, как лучше передавать данные из таблицы в окно и потом по клику на ОК обратно? Или есть другие варианты, более Qt-way? Тут кто как.От задачи зависит. Я организовал нечто воде класса куда пакуется ответ. Код: class uoUrl Есть у меня и заготовка в которую я "оборачиваю" подобные задачи: MDI интерфейс + некий ОРМ Правда меня напроч не устраивают модели - много с ними гемороя. Предпочитаю самописное табличное поле. ПС. Поскольку не очень люблю модальные окна (вернее их черезмерное использование), то пришлось изобрести (стырить из 1С :) ) идею привязки объектов к окнам :) Отсюда и родился класс uoUrl. :) |