Как остановить открытие новых окон Python так низко на экране? [Дубликат]

Это означает, что вы пытаетесь манипулировать тем, что имеет ссылку, но еще не инициализировано. Первое, что нужно сделать, это проверить каждый созданный экземпляр. Используйте контрольные точки, часы, проверяйте свои значения varibale. Следить за трассировкой стека и искать точные строки и столбцы, которые создают проблему

8
задан Paul Ronjak 28 April 2011 в 06:42
поделиться

2 ответа

Позиционирование окон не обрабатывается клиентским приложением. Он обрабатывается диспетчером Window (metacity и т. Д.).

В библиотеке SDL, на которой основан PyGame, есть несколько переменных среды , которые можно использовать, чтобы дать подсказки диспетчеру окна. Это подсказки, которые WM может игнорировать, но это лучшее, что вы можете сделать.

Примером могут служить комментарии к здесь .

5
ответ дан Noufal Ibrahim 26 August 2018 в 05:41
поделиться
import os  

os.environ['SDL_VIDEO_WINDOW_POS'] = str(position[0]) + "," + str(position[1])

в соответствии с http://pygame.org/wiki/FrequentlyAskedQuestions

Вы также можете просто центрировать экран с помощью

import pygame, os 

os.environ['SDL_VIDEO_CENTERED'] = '1'

Обратите внимание, что это необходимо сделать, прежде чем инициализировать pygame в основном цикле. Я делаю это сразу после импорта os, например. И поскольку они не являются частью pygame, вы, вероятно, можете использовать его в другом месте, хотя такие вещи, как gtk и wxpython, предоставляют свои собственные механизмы.

15
ответ дан Alan 26 August 2018 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: