arkInputDialog, Класс класс arkInputDialog для генерации диалогов |
Здравствуйте, гость ( Вход | Регистрация )
arkInputDialog, Класс класс arkInputDialog для генерации диалогов |
Litkevich Yuriy |
26.12.2008, 17:40
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
sagifire, предлагаю сделать описание в стиле документации Qt. Буквально взять файл с описанием QDialog и его подправить под свой класс.
либо воспользоватся DoxyGen'ом |
|
|
sagifire |
26.12.2008, 17:43
Сообщение
#12
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 5.11.2008 Пользователь №: 412 Спасибо сказали: 0 раз(а) Репутация: 1 |
|
|
|
kwisp |
26.12.2008, 17:55
Сообщение
#13
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Этот класс я написал для себя, чтоб не рисовать 150 простейших диалогов для каждого проекта. sagifire, не считаешь что класс мягко говоря - лишний наворот??? QDialog и так справляется со своими обязанностями прекрасно. arkInputDialog и єсть QDialog. Только с механизмом автодизайна и сохранением/восстановлением данных через QSettings. Для примера вот код: arkInputDialog dlg(this,Qt::Dialog); dlg.setWindowTitle("Login:"); dlg.addString("Name:"); dlg.AddPasword("Pasword:"); dlg.prepare(); dlg.setSettings("trollytech","megatoolza","login_form"); if(dlg.exec() ... В диалоге будет всегда восстанавливаться последнее имя пользователя. Итого 7 строк кода без использования дизайнера. А сколько строк кода нужно на простом QDialog ? не хочу в спор вступать но.... в ряде случаев нельзя измерять удобство колличетвом строк. не совсем в тему - к примеру программу губит дохлый цикл в одну строчку. дизайнером к примеру я оч редко пользуюсь, вообще не люблю мышкой программировать. вопросов нет, 7 строк - клево. однако вот скажет мне ну или тебе начальник, а хуже если заказчик что-нить изменить в нем. К примеру, горизонтальное размещение сменить на вертикальное или наоборот + добавить картинку слева вверху. еще вопрос Имя файла: arkInputDialog.zip Размер файла: 2.45 MB чего так много то мегабайтов??? Сообщение отредактировал kwisp - 26.12.2008, 17:56 |
|
|
sagifire |
26.12.2008, 18:03
Сообщение
#14
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 5.11.2008 Пользователь №: 412 Спасибо сказали: 0 раз(а) Репутация: 1 |
не хочу в спор вступать но.... в ряде случаев нельзя измерять удобство колличетвом строк. программу губит дохлый цикл в одну строчку. С этим я согласен вопросов нет 7 строк - клево. однако вот скажет мне ну или тебе начальник, а хуже если заказчик что-нить изменить в нем. К примеру, горизонтальное размещение сменить на вертикальное или наоборот + добавить картинку слева вверху. Горизонтальное размещение сменить на вертикальное нет проблем: prepare (int количество_столбцов); Картинку теоретически можно добавить после вызова метода prepare (). на практике не проверял Имя файла: arkInputDialog.zip Размер файла: 2.45 MB чего так много то мегабайтов??? Там кроме библиотеки еще пример использования. В коде показано два наглядных способа использования диалога. |
|
|
Litkevich Yuriy |
26.12.2008, 18:09
Сообщение
#15
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
sagifire |
26.12.2008, 18:17
Сообщение
#16
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 5.11.2008 Пользователь №: 412 Спасибо сказали: 0 раз(а) Репутация: 1 |
|
|
|
Litkevich Yuriy |
26.12.2008, 18:28
Сообщение
#17
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
kwisp |
26.12.2008, 18:48
Сообщение
#18
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
вот другое дело. однако. просил критики. так на вскидку взглянул. функция prepare(). опасно тем что юный юзверь вызовет её несколько раз. плохо получится. кнопки будут создаваться и т.д. и т.п. так ведь? данные открыты в PUBLIC зачем? есть возможность спрячь по дальше.
есть член класса указатель на виджет widget.... и тут же в методе
ты создаешь одноименный.... к ошибке не приводит ... но практика для переносимого кода для использования сторонними лицами нехорошая. не знаю как поведут себя различные компиляторы.
что то мне не понятное??? почему не switch() он же шустрее будет.
еще вопрос зачем класс arkInpDlgItem??? если он нужн только для предоставления данных при том открытых. может обойтись структурой и спрятать её от пользователя.... если он непосредственно не пользуется классом arkInpDlgItem. |
|
|
sagifire |
27.12.2008, 15:00
Сообщение
#19
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 5.11.2008 Пользователь №: 412 Спасибо сказали: 0 раз(а) Репутация: 1 |
Спасибо! Вот такая критика мне и была нужна.
Согласен со всем, буду исправлять. функция prepare(). опасно тем что юный юзверь вызовет её несколько раз. плохо получится. кнопки будут создаваться и т.д. и т.п. так ведь? По идеи метод prepare() перед созданием виджетов, должен был удалять старые. Почему я не реализыровал это? Потому что просто забыл . |
|
|
Litkevich Yuriy |
27.12.2008, 15:58
Сообщение
#20
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 22.12.2024, 12:56 |