Написание приложения для чата Stack Exchange в GTK+ 3, что я должен использовать для отображения сообщений?

Написание приложения для чата Stack Exchange в GTK+ 3, что я должен использовать для отображения сообщений?

24.01.2017 10:11:00 Просмотров 49 Источник

Я пишу приложение для чата Stack Exchange с использованием GTK+ 3. Мне было интересно, какие компоненты обычно используются и рекомендуются для фактического отображения сообщений.

Мои варианты прямо сейчас-это WebKit (для легкого рендеринга HTML), GtkListBox (для легкого управления списком) или что-то еще. Что было бы лучшим выбором, чтобы сделать в этом случае?

У вопроса есть решение - Посмотреть?

Ответы - Написание приложения для чата Stack Exchange в GTK+ 3, что я должен использовать для отображения сообщений? / Writing a Stack Exchange chat application in GTK+ 3, what should I use to display messages?

Jussi Kukkonen

24.01.2017 03:27:50

Добавление потенциально десятков тысяч виджетов (в случае списка) обычно не является отличной идеей. Взгляните на текстовые виджеты (TextView, TextBuffer и т. д.): мощное форматирование дает вам довольно много возможностей рендеринга, и он будет работать довольно хорошо даже с десятками тысяч сообщений. Посмотреть chatview в кафе IRC-клиент для примера (и скриншоты).

https://stackoverflow.com/questions/41822104/writing-a-stack-exchange-chat-application-in-gtk-3-what-should-i-use-to-displa/41828254#comment70855509_41828254
Я не думаю, что TextBuffer / TextView будет работать, потому что это чат Stack Exchange, и мне нужно обрабатывать starring/editing/flags/etc.
https://stackoverflow.com/questions/41822104/writing-a-stack-exchange-chat-application-in-gtk-3-what-should-i-use-to-displa/41828254#comment70858219_41828254
Ну, без реальных требований это слишком широко, чтобы ответить. Теги TextBuffer являются более мощными,чем они кажутся. Например, многие части Полярного текстового представления являются интерактивными. Например, щелчок по нику покажет всплывающее окно, которое имеет больше пользовательского интерфейса, связанного с пользователем. Также можно добавить дочерние виджеты, такие как GtkImages или GtkButtons, в текстовое представление (см., например, gtk_text_view_add_child_at_anchor()).
https://stackoverflow.com/questions/41822104/writing-a-stack-exchange-chat-application-in-gtk-3-what-should-i-use-to-displa/41828254#comment70858963_41828254
Это довольно круто на самом деле, я мог бы попробовать это.
theGtknerd

25.01.2017 06:31:13

Вы рассматривали Treeview ? Treeview и ListStore довольно просты в настройке и управлении и имеют все возможности Listbox в вашем случае.

https://stackoverflow.com/questions/41822104/writing-a-stack-exchange-chat-application-in-gtk-3-what-should-i-use-to-displa/41842931#comment71030271_41842931
Я думаю, что это вводит в заблуждение. Treeview не имеет возможностей стандартного контейнера, такого как ListBox.
https://stackoverflow.com/questions/41822104/writing-a-stack-exchange-chat-application-in-gtk-3-what-should-i-use-to-displa/41842931#comment71062532_41842931
@jku обратите внимание, что я сказал в вашем случае . Если я правильно прочитал вопрос, его спросили, как передать сообщение. Treeview и Liststore вполне подходят для этой цели при использовании CellRendererText developer.gnome.org/gtk3/stable/GtkCellRendererText.html .
Помочь в развитии проекта:
Закрыть X