denka
Гость
|
|
« Ответ #15 : Сентябрь 03, 2007, 16:14 » |
|
Может ты как то не так модель реализовал?
|
|
|
Записан
|
|
|
|
-QT-
Гость
|
|
« Ответ #16 : Сентябрь 04, 2007, 08:46 » |
|
Может ты как то не так модель реализовал?
Может быть. Модель для чтения - реализации для редактирования нет создавал из QAbstractItemModel и определял свой Node. Наверное проблема в этом - вот только не пойму она же должна на отображение то работать или нет ?
|
|
|
Записан
|
|
|
|
denka
Гость
|
|
« Ответ #17 : Сентябрь 04, 2007, 09:08 » |
|
А у тя данные возврощаються только по Qt::DisplayRole? Я тут глянул исходники QDataWidgetMapper данные там устанавливаються через делегат, а у делегата уже в setEditorData данные выбираються с помощью Qt::EditRole. Может правда я чета не так понял.
|
|
|
Записан
|
|
|
|
-QT-
Гость
|
|
« Ответ #18 : Сентябрь 04, 2007, 12:25 » |
|
да данные возвращаются только по Qt::DisplayRole. Видимо нужна реализация с Qt::EditRole (если я правильно понял)
|
|
|
Записан
|
|
|
|
denka
Гость
|
|
« Ответ #19 : Сентябрь 04, 2007, 12:41 » |
|
Получаеться так... Или писать свой делегат Очень жаль что в ассистенте об этом не написано...
|
|
« Последнее редактирование: Сентябрь 04, 2007, 12:46 от den'ka »
|
Записан
|
|
|
|
Krow
Гость
|
|
« Ответ #20 : Сентябрь 06, 2007, 11:16 » |
|
этот вопрос косвенно касается моего предыдущего в данной теме. есть форма в MDI приложении вызываетсяы она с QMainWindow соответвенно при добавлении её к уже существующему экземпляру QWorkspace проблем не доставляет. так вот с этой формы вызываетсчя новая форма, как её можно так же привязать к уже существующему экземпляру QWorkspace?
|
|
|
Записан
|
|
|
|
denka
Гость
|
|
« Ответ #21 : Сентябрь 06, 2007, 11:37 » |
|
На скока я понял проблема в не доступности workspace в первой форме. Можно сделать так: ... YourForm * f = new YourForm( this ); QWorkspace * w = qobject_cast<QWorkspace *>( parent()->parent() ); w->addWindow( f ); ...
|
|
|
Записан
|
|
|
|
-QT-
Гость
|
|
« Ответ #22 : Сентябрь 06, 2007, 14:03 » |
|
|
|
|
Записан
|
|
|
|
Krow
Гость
|
|
« Ответ #23 : Сентябрь 06, 2007, 19:14 » |
|
не буду открывать новый топик... проблема в следующем.. собрал таки в винде свою програмку. всё вроде бы хорошо, только вот при добавлении в мускульную базу юникод данных (по умолчанию мускул настроен на эту кодировку) QTableView выдает вместо русского шрифта сплошные вопросы, в лине работало отлично всё. как это можно исправить?
|
|
|
Записан
|
|
|
|
-QT-
Гость
|
|
« Ответ #24 : Сентябрь 07, 2007, 08:01 » |
|
не буду открывать новый топик... проблема в следующем.. собрал таки в винде свою програмку. всё вроде бы хорошо, только вот при добавлении в мускульную базу юникод данных (по умолчанию мускул настроен на эту кодировку) QTableView выдает вместо русского шрифта сплошные вопросы, в лине работало отлично всё. как это можно исправить?
А у тебя типа fromUtf8() нету если есть заменить на fromLocal8bit и правильно устанавливать локальную кодировку.
|
|
|
Записан
|
|
|
|
-QT-
Гость
|
|
« Ответ #25 : Сентябрь 07, 2007, 08:04 » |
|
В общем реализацию я сделал НО немогу спозиционировать на нужную запись. Вот в чем вопрос (Ну почти Шекспир )
|
|
|
Записан
|
|
|
|
Krow
Гость
|
|
« Ответ #26 : Сентябрь 07, 2007, 10:17 » |
|
не буду открывать новый топик... проблема в следующем.. собрал таки в винде свою програмку. всё вроде бы хорошо, только вот при добавлении в мускульную базу юникод данных (по умолчанию мускул настроен на эту кодировку) QTableView выдает вместо русского шрифта сплошные вопросы, в лине работало отлично всё. как это можно исправить?
А у тебя типа fromUtf8() нету если есть заменить на fromLocal8bit и правильно устанавливать локальную кодировку. а где в QTableView это менять надо? у базы дефолтовая кодировка утф8... пишу в лине, а в винде только собираю для виндовых пользователей.... кстати вопрос. пускай програ непрально базу отображает щас... собрал я её пользую MS Visual Studio 2005. пытаюсь запустить на другом компе эту программу, пишет программа не запускается и всё... и как тут понять как её запускать надо?
|
|
|
Записан
|
|
|
|
Krow
Гость
|
|
« Ответ #27 : Сентябрь 08, 2007, 13:54 » |
|
На скока я понял проблема в не доступности workspace в первой форме. Можно сделать так: ... YourForm * f = new YourForm( this ); QWorkspace * w = qobject_cast<QWorkspace *>( parent()->parent() ); w->addWindow( f ); ...
сделал как ты написал. форма добавляется в workspace, но после добавления программа зависает и не реагирует ни на что... пыталдлся сделать вот так после f->show(); w->setActiveWindow( f );
не помогает. программа просто не отвечает ни накакие сигналы из вне...
|
|
|
Записан
|
|
|
|
Krow
Гость
|
|
« Ответ #28 : Сентябрь 08, 2007, 14:20 » |
|
вот функиция создания дочернего окна: void fDisk::createDiskInsert() { fDiskInsert *child = new fDiskInsert(this); child->ui.pbInsert->setText(QString::fromUtf8("Добавить")); child->setWindowTitle(QString::fromUtf8("Новый диск")); QWorkspace *workspace = qobject_cast<QWorkspace *>(parent()->parent()); workspace->addWindow(child); child->show(); workspace->setActiveWindow(child); close(); } может кто скажет в чем ошибка?
|
|
« Последнее редактирование: Сентябрь 08, 2007, 14:24 от Krow »
|
Записан
|
|
|
|
Krow
Гость
|
|
« Ответ #29 : Сентябрь 16, 2007, 12:24 » |
|
сори за поднятие тему вверх без новго вопроса... но предыдущий ещё актуален. не могу найти решение
|
|
|
Записан
|
|
|
|
|