crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

un-defined
  опции профиля:
сообщение 8.7.2008, 23:49
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Есть проект виджета эмулятора терминала, написанный на qt4. Но некроссплатформенный, потому как использует системные вещи. Это будет интересно кому-нибудь?
Может кто-нибудь сможет его под mingw собрать? я не могу, за неимением windows, так что просто не в курсе, как там что в mingw устроено.

Если что - ссылка вот:
http://sourceforge.net/projects/qtermwidget
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V   1 2 3 >  
Начать новую тему
Ответов (1 - 26)
ViGOur
  опции профиля:
сообщение 9.7.2008, 8:02
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


А поподробней описание?

Просто с нынешним описанием не понятно, в чем его вкусность! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 9.7.2008, 8:54
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вкусность в том, что его можно встраивать в свои приложения именно как обычный виджет qt. При этом он никак не зависит от KDE, хотя и сделан на основе konsole. Ну и поддержка unicode вроде бы тоже имеется.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 9.7.2008, 9:35
Сообщение #4


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


очень интересная вещица, надо будет взглянуть :)
насколько я понял это под *nix?

Сообщение отредактировал void* - 9.7.2008, 9:36
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 9.7.2008, 12:06
Сообщение #5





Гости








    


Неплохо.
Собралось и заработало с Qt 4.3.1, правда debug пример не линкуется, только резиловый создается.
Цитата
`.L187' referenced in section `.rodata' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o): defined in discarded section `.gnu.linkonce.t._ZNK7Konsole14CharacterColor5colorEPKNS_10ColorEntryE' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o)
`.L179' referenced in section `.rodata' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o): defined in discarded section `.gnu.linkonce.t._ZNK7Konsole14CharacterColor5colorEPKNS_10ColorEntryE' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o)
`.L182' referenced in section `.rodata' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o): defined in discarded section `.gnu.linkonce.t._ZNK7Konsole14CharacterColor5colorEPKNS_10ColorEntryE' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o)
`.L185' referenced in section `.rodata' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o): defined in discarded section `.gnu.linkonce.t._ZNK7Konsole14CharacterColor5colorEPKNS_10ColorEntryE' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o)
`.L186' referenced in section `.rodata' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o): defined in discarded section `.gnu.linkonce.t._ZNK7Konsole14CharacterColor5colorEPKNS_10ColorEntryE' of ../libqtermwidget_d.a(TerminalCharacterDecoder.o)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 9.7.2008, 12:14
Сообщение #6


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Да, это под *nix
Лучше брать не файловый релиз, а из CVS - там посвежее, почище должно быть.


Насчет debugовой версии ничего сказать не могу, не было такого:)

Сообщение отредактировал un-defined - 9.7.2008, 12:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 9.7.2008, 12:19
Сообщение #7





Гости








    


Единственное что бесит - исходный код испагенный комментариями (походу на их генерацию и набор у автором ушло времени больше чем на создание самого виджета), читать очень трудно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.7.2008, 12:53
Сообщение #8


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Добавил: QTermWidget - Эмулятор терминала
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 9.7.2008, 14:17
Сообщение #9


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


возможно буду использовать в своей программе этот виджет, чуть позже покопаюсь поподробнее
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 9.7.2008, 14:42
Сообщение #10


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Гость @ 9.7.2008, 13:19) *
исходный код испагенный комментариями


Отличная фраза, шедевр настоящий :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 15.7.2008, 10:05
Сообщение #11


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


немного покопался в коде. Действительно обильные комментарии затрудняют чтение кода, да и стиль программирования местами не очень понравился: постоянные приведения в стиле Си, использование void* (что весьма нежелательно, да и по-моему не аргументированно). Ну а так, в принципе неплохо, но еще очень огорчило отсутствие полосы прокрутки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 15.7.2008, 10:45
Сообщение #12


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(void* @ 15.7.2008, 11:05) *
немного покопался в коде. Действительно обильные комментарии затрудняют чтение кода, да и стиль программирования местами не очень понравился: постоянные приведения в стиле Си, использование void* (что весьма нежелательно, да и по-моему не аргументированно). Ну а так, в принципе неплохо, но еще очень огорчило отсутствие полосы прокрутки



За исходный стиль винить разработчиков konsole в KDE4 :) Мне надо было для начала добиться работоспособности, а рефакторингом займусь потом, если время будет.
Если есть предложения по улучшению - патчи принимаются.

Комментарии мне лично не мешают.

Полоса прокрутки отключена сознательно - мне так внешний вид больше нравится. Ctrl+PgUP,PgDn еще никто не отменял, а размером history можно управлять. В принципе никто не мешает включить, ну или опцию добавить.. может и сделаю, если уж прямо очень убедительно надо (хотя я, опять повторю, такой необходимости не вижу)

Вообще просторов для улучшения там море, никому не возбраняется поучаствовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 15.7.2008, 11:15
Сообщение #13


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


Цитата(un-defined @ 15.7.2008, 10:45) *
В принципе никто не мешает включить, ну или опцию добавить.. может и сделаю, если уж прямо очень убедительно надо

было бы очень даже неплохо :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 15.7.2008, 23:59
Сообщение #14


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(void* @ 15.7.2008, 12:15) *
было бы очень даже неплохо :)


Да не вопрос:)
В cvs забирать.


Кстати, по поводу использования void* - что именно там непонятно и нежелательно?

Сообщение отредактировал un-defined - 16.7.2008, 0:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 16.7.2008, 9:32
Сообщение #15


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


теперь другое дело :) правда теперь почему-то стал слишком большой шрифт и отступ от текущего пути, вот скрин :)

насчет void* - лично я не совсем понимаю зачем в классе держать указатели на void и при каждом их использовании приводить их к нужному типу:
void *_session;
void *_terminalDisplay;


примеры:
((TerminalDisplay*)_terminalDisplay)->setSize(80, 40);

((Session*)_session)->addView((TerminalDisplay*)_terminalDisplay);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 16.7.2008, 9:55
Сообщение #16


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(void* @ 16.7.2008, 10:32) *
теперь другое дело :) правда теперь почему-то стал слишком большой шрифт и отступ от текущего пути, вот скрин :)

Шрифт моноширинный должен быть.
По умолчанию стоит Monospace, 10.
Я ставил еще terminus, 12
С другими шрифтами могут быть как раз такие проблемы, так как положение курсора вычисляется как (размер символа) Х (количество символов). А в немоноширинных шрифтах размер символа непостоянен..

Но вообще я в этот раз не трогал ту часть, которая за шрифты отвечает:)

Цитата(void* @ 16.7.2008, 10:32) *
насчет void* - лично я не совсем понимаю зачем в классе держать указатели на void и при каждом их использовании приводить их к нужному типу:
void *_session;
void *_terminalDisplay;


потому что надо было спрятать внутренние типы от приложений, которые будут этот класс использовать. Понятно, что тут явно просятся forward declarations и pimpl, но я решил вообще убрать из интерфейсного класса какие-либо упоминания о внутренних классах.
Может быть как-нибудь переделаю на досуге:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
void*
  опции профиля:
сообщение 16.7.2008, 10:02
Сообщение #17


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


Цитата(un-defined @ 16.7.2008, 9:55) *
Шрифт моноширинный должен быть.
По умолчанию стоит Monospace, 10.
Я ставил еще terminus, 12
С другими шрифтами могут быть как раз такие проблемы, так как положение курсора вычисляется как (размер символа) Х (количество символов). А в немоноширинных шрифтах размер символа непостоянен..

в принципе да, с Monospace все вроде нормально

ЗЫ я конечно наверно уже совсем обнаглел, но может сделаешь еще и горизонтальную полосу прокрутки или вместо обоих полос прокрутки враппер из QAbstractScrollArea? :)

Сообщение отредактировал void* - 16.7.2008, 10:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 13:07
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(void* @ 16.7.2008, 14:02) *
вместо обоих полос прокрутки враппер

это плохая идея, должна быть прокрутка
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 16.7.2008, 13:14
Сообщение #19


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


А зачем нужна горизонтальная прокрутка?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.7.2008, 13:23
Сообщение #20


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


строки могут быть длинные, а перенос не информативен, т.к. нарушает реальный вывод, пример, сборка Qt.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Lenymo
  опции профиля:
сообщение 27.8.2010, 20:10
Сообщение #21


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.6.2010
Пользователь №: 1812

Спасибо сказали: 1 раз(а)




Репутация:   0  


Подскажите, пожалуйста, а можно ли на основе этого эмулятора сделать виджет реального терминала?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
un-defined
  опции профиля:
сообщение 27.8.2010, 20:28
Сообщение #22


Новичок


Группа: Новичок
Сообщений: 9
Регистрация: 8.7.2008
Пользователь №: 227

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Lenymo @ 27.8.2010, 21:10) *
Подскажите, пожалуйста, а можно ли на основе этого эмулятора сделать виджет реального терминала?


А что вы понимаете под реальным терминалом?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Lenymo
  опции профиля:
сообщение 29.8.2010, 16:13
Сообщение #23


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.6.2010
Пользователь №: 1812

Спасибо сказали: 1 раз(а)




Репутация:   0  


В общем, мне нужен виджет типа PuTTY для работы через реальный последовательный порт - чтобы он обеспечивал управление удаленным узлом и отображение, в то время как сама работа выполнялась бы на другой стороне.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 29.8.2010, 17:03
Сообщение #24


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Lenymo,
ну к примеру в терминале всегда можно набрать ssh имя_позбзователя@имя_машины - вот в принципе даже без переделки в каком то виде есть такая возможность.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Lenymo
  опции профиля:
сообщение 29.8.2010, 19:15
Сообщение #25


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.6.2010
Пользователь №: 1812

Спасибо сказали: 1 раз(а)




Репутация:   0  


kwisp, мне нужен serial terminal...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kuzulis
  опции профиля:
сообщение 30.8.2010, 8:21
Сообщение #26


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Цитата
kwisp, мне нужен serial terminal...

ssh может быть over serial.

Lenymo, нет в природе такого виджета как вы хотите. Есть отдельно библиотеки/классы для GUI, есть для работы с портом, есть кое что на qt-apps.org, часть кода можно стыбрить из KDE, т.е. везде всего понемножку, поэтому делайте сами.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Lenymo
  опции профиля:
сообщение 30.8.2010, 19:32
Сообщение #27


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 16.6.2010
Пользователь №: 1812

Спасибо сказали: 1 раз(а)




Репутация:   0  


kuzulis, так я и собираюсь сама, просто надеялась сэкономить время и не изобретать велосипед ;) То есть использовать часть классов этого эмулятора для моей задачи - отображения удаленной консоли. Собственно, работа с портом у меня уже есть, надо только визуализацию прикрутить...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.6.2025, 20:20