LINUX.ORG.RU

Ощие вопросы о CL-GTK2+ и графике


0

1

интересуют вопросы некоторые:

1. Как таки изменить программно размер Drawing-area уже после его создания?

2. Как сделать кнопки скруглёнными, у меня они почему то квадратные(работаю в WindowsXP и 7 всё одинаково и там и там).

3. Можно ли кроме 4-х форматов (.png, .svg, .ps, .pdf), использовать что то ещё? Ну например jpeg.

4. Можно ли какое нибудь видео вставить?

Прошу помочь если не очень трудно.



Последнее исправление: RusNekromant (всего исправлений: 1)

1. gtk_widget_set_size_request
2. используй соответствующую тему
3. можно. смотри выхлоп gdk-pixbuf-query-loaders
4. разве что подцеплять какой-нибудь mplayer или ffmpeg через GtkSocket. ну или создать свой виджет

ananas ★★★★★
()
Ответ на: комментарий от ananas

Благодарю. Про тему не понял немного, просто вроде в винде всё скруглённое, в ХР конечно когда ошибки лезут то квадрат, но в Win7 дпже ошибки всё скруглено.... не ну вариант заменить кнопку картинками, тоесть способом старым как мир.....

RusNekromant
() автор топика
Ответ на: комментарий от ananas

)))))) ну это же хорошо что отличились)) Но если по делу то width-request и height-request неизвестно как работают тоесть при создании виджета если сделать так

(Холст (make-instance 'drawing-area :width-request 1280 :height-request 768))
Создаётся виджет «холст» а вот как теперь задать я не знаю просто
(setf (width-request холст) 1024
(heigh-request холст) 500)
Не получится...

RusNekromant
() автор топика
Ответ на: комментарий от RusNekromant

>Но если по делу то width-request и height-request неизвестно как работают тоесть при создании виджета если сделать так

Посмотри в исходники же.

anonymous
()
Ответ на: комментарий от addewyd

И так тоже не работает, при чём если

(setf (widget-width-request холст) 2900
		 (widget-heigh-request холст)768)
то ошибку пишет так как нет функции widget-width-request а если так
(setf widget-width-request 2900
		 widget-heigh-request 768)
то ошибки нет но и реакции на код «0»

RusNekromant
() автор топика

1) (setf (widget-request-width ...) ...) должно сработать. Что именно у вас при этом происходит?

2) Установлена тема raleigh, а не windows. Как устанавливать тему в gtk в windows, я не помню уже.

3) GdkPixbufLoader должен поддерживать разные форматы. Вероятно, дистрибутив Gtk+ неполный.

4) Средствами GtkDrawingArea видео не сделать. Либо используйте OpenGL (GtkGlDrawingArea, но не уверен, что удастся это сделать средствами opengl), либо GStreamer (но не знаю, есть ли он под винду)

dmitry_vk ★★★
()
Ответ на: комментарий от dmitry_vk

1)Сработало, но вроде тоже самое вводил раньше и ошибка валилась. Наверное или ошибся или винда глючит)))

2)Насчёт темы гляну пасиб за наводку, а ананас вроде дал ссылку на то что нужно.

3)Я просто не знал где смотреть может и может всё, буду изучать спасибо за наводку.

4) Ну это не критично, но хочется реализовать, нада попробовать. Я вот подумал что OGL если видео не поддерживает то .swf должна держать что даже лучше чем просто какая нибудь .avi

RusNekromant
() автор топика
Ответ на: комментарий от RusNekromant

>Я вот подумал что OGL если видео не поддерживает то .swf должна держать что даже лучше чем просто какая нибудь .avi

У вас путаница в голове.

OpenGL в данном случае можно использовать для быстрого вывода (и, возможно, масштабирования изображения и преобразования цветового пространства с помощью шейдеров) отдельных кадров.

В swf-файлах содержатся программы в виде байткода виртуальной машины Adobe Flash.

avi — это формат контейнера видео.

Что такое «OGL видео не поддерживает» и «swf должна держать» и «лучше, чем просто какая-нибудь avi», я не могу понять.

Как вставить отображение Adobe Flash в окно своей программы, я подсказать не могу. Для вставки видео в GUI на Gtk+ больше всего подходит GStreamer.

dmitry_vk ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.