Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6085
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
pyGame в приложении pyGTK
Как лучше всего использовать PyGame (SDL) в приложении PyGTK?
Я ищу метод, который позволяет мне иметь область рисования в окне GTK и в то же время иметь возможность управлять событиями GTK и SDL.
Сам я никогда не пробовал этого, но, услышав много рассказов о других людях, которые пробовали, я понял, что это не та дорога, по которой хочется идти.
Есть альтернатива поместить графический интерфейс в pygame сам по себе. Есть много графических инструментов, созданных специально для pygame, которые вы можете использовать. Большинство из них довольно незавершенные, но есть 2 больших, активно обслуживаемых: PGU и OcempGUI . Полный список на сайте pygame находится здесь .
PyGame работает гораздо лучше, когда он может управлять своим собственным окном, или даже лучше, использовать весь экран. GTK имеет достаточно гибкие виджеты для создания области рисования.
Однако эта страница может помочь, если вы хотите попробовать ее.
http://faq.pygtk.org/index.py?file=faq23.042.htp&req=show упоминает все это:
Вам нужно создать область рисования и установить переменную среды SDL_WINDOWID после ее реализации:
import os
import gobject
import gtk
import pygame
WINX = 400
WINY = 200
window = gtk.Window()
window.connect('delete-event', gtk.main_quit)
window.set_resizable(False)
area = gtk.DrawingArea()
area.set_app_paintable(True)
area.set_size_request(WINX, WINY)
window.add(area)
area.realize()
# Force SDL to write on our drawing area
os.putenv('SDL_WINDOWID', str(area.window.xid))
# We need to flush the XLib event loop otherwise we can't
# access the XWindow which set_mode() requires
gtk.gdk.flush()
pygame.init()
pygame.display.set_mode((WINX, WINY), 0, 0)
screen = pygame.display.get_surface()
image_surface = pygame.image.load('foo.png')
screen.blit(image_surface, (0, 0))
gobject.idle_add(pygame.display.update)
window.show_all()
while gtk.event_pending():
# pygame/SDL event processing goes here
gtk.main_iteration(False)
Я пробовал сделать это сам некоторое время назад, и у меня никогда не получалось работать идеально. На самом деле я никогда не заставлял его работать вообще под Windows, так как он продолжал рушиться весь OS, и у меня кончилось терпение. Я продолжал использовать его, Хотя это было только важно, он работал на Linux, и это был всего лишь небольшой проект. Я бы настоятельно рекомендовал вам изучить альтернативные варианты. Это всегда было похоже на отвратительный Хак, и я чувствовал себя грязным.
Есть простое решение, которое может сработать для вас.
Напишите PyGTK материал и PyGame материал как отдельные приложения. Затем из приложения PyGTK вызовите приложение PyGame, используя os.system для вызова приложения PyGame. Если вам нужно разделить данные между ними, то используйте базу данных, каналы или IPC.
Проект сахара имеет несколько видов деятельности, построенных с PyGTK и PyGame.
Они написали поддержку lib, чтобы достичь этого, называется Sugargame . Вы должны быть в состоянии изменить его для обычных приложений PyGTK вместо сахара.
Вот глава в книге развития сахара о том, как его использовать.
Lib позволяет передавать события между GTK и PyGame.
Наслаждайтесь!