![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Litkevich Yuriy |
![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
имеется табличное представление нужно для определенного столбца установить в качестве виджета-редактора QDateTimeEdit,
у представления есть метод setItemDelegateForColumn( int column, QAbstractItemDelegate * delegate ) как превратить QDateTimeEdit в QAbstractItemDelegate чё-то я не доганяю ![]() почитал про QItemEditorFactory но все равно туплю. |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Вот пример: A Simple Delegate, правда с QSpinBox, но думаю достаточно понятно.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
да вот пример этот не соответствует идее "Меньше кода-больше дела", чтобы готовый виджет засандалить столько надо накодить. ядумал есть какойнибудь метод на манер этого:
|
|
|
ViGOur |
![]()
Сообщение
#4
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Тада не знаю не пробовал...
![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
в общем соорудил я несколько делегатов в одном классе.
А именно: QSpinBox QComboBox, оперирующий 2 значениями ,"1" и "0" -- т.е. Булевый QDateTimeEdit Эксплуатировать так:
Вдруг кому пригодится, выкладываю тестовый проект с моим творением ![]() там и файл для DoxyGen'а |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
В догонку HTML-документация, которую нагенерил DoxyGen
![]() |
|
|
rich |
![]()
Сообщение
#7
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: ![]() ![]() ![]() |
если в Qt 4.1.4 для QTableWidget есть только
можно ли вставить делегат только для определенного столбца? ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
думаю что по простому ни как
![]() |
|
|
icore2008 |
![]()
Сообщение
#9
|
Студент ![]() Группа: Новичок Сообщений: 22 Регистрация: 10.4.2008 Пользователь №: 145 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Юрий, спасибо Вам большое за проект.
попробовал правда его откомпилировать с помощью VC++, что-то не пошлО, заругался компилятор: Цитата cl -c -nologo -Zm200 -Zi -MDd -Zi -MDd -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -D
ystddelegate.cpp ystddelegate.cpp(60) : error C2360: initialization of 'cmbox' is skipped by 'case' label ystddelegate.cpp(56) : see declaration of 'cmbox' ystddelegate.cpp(63) : error C2361: initialization of 'cmbox' is skipped by 'default' label ystddelegate.cpp(56) : see declaration of 'cmbox' ystddelegate.cpp(90) : error C2360: initialization of 'cmbox' is skipped by 'case' label ystddelegate.cpp(80) : see declaration of 'cmbox' ystddelegate.cpp(95) : error C2361: initialization of 'dtedit' is skipped by 'default' label ystddelegate.cpp(91) : see declaration of 'dtedit' ystddelegate.cpp(95) : error C2361: initialization of 'cmbox' is skipped by 'default' label ystddelegate.cpp(80) : see declaration of 'cmbox' ystddelegate.cpp(117) : error C2360: initialization of 'cmbox' is skipped by 'case' label ystddelegate.cpp(114) : see declaration of 'cmbox' ystddelegate.cpp(121) : error C2361: initialization of 'dtedit' is skipped by 'default' label ystddelegate.cpp(118) : see declaration of 'dtedit' ystddelegate.cpp(121) : error C2361: initialization of 'cmbox' is skipped by 'default' label ystddelegate.cpp(114) : see declaration of 'cmbox' NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio .NET\VC7\BIN\nmake.exe"' : Stop. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
честно говоря, время позднее и голова тормозит, может операторы при case в скобки взять:
Сообщение отредактировал Litkevich Yuriy - 10.4.2008, 20:37 |
|
|
icore2008 |
![]()
Сообщение
#11
|
Студент ![]() Группа: Новичок Сообщений: 22 Регистрация: 10.4.2008 Пользователь №: 145 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
честно говоря, время позднее и голова тормозит, может операторы при case в скобки взять: ... скомпилилолсь, спасибо. Вопрос, конечно не по теме, но все же: Скажите, пожалуйста, а gcc код без скобочек компилировал без проблем? Почему VC++ не проглотил без скобок? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
может это связано с ключами компиляции, типа "строго по такому-то стандарту",
вообще я их обычно пишу, но мне говорили что это не обязательно, вот я, в первый раз, решил не писать ![]() |
|
|
icore2008 |
![]()
Сообщение
#13
|
Студент ![]() Группа: Новичок Сообщений: 22 Регистрация: 10.4.2008 Пользователь №: 145 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
может это связано с ключами компиляции, типа "строго по такому-то стандарту", вообще я их обычно пишу, но мне говорили что это не обязательно, вот я, в первый раз, решил не писать ![]() Ветка мягко начала тянуться не в ту сторону ![]() Я вот тоже, открыл справочник Г. Шилдта: Цитата switch (expression) { ... } Цитата значением выражения должно быть целое число или символ В данном примере - целое число :-/вроде бы все корректно. |
|
|
Admin |
![]()
Сообщение
#14
|
Администратор ![]() ![]() ![]() ![]() Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#15
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
вообще мне интересно в чем проблема, поэтому создел тему оператор switch, GCC ест, а студия нет
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.4.2025, 12:18 |