LINUX.ORG.RU

PyQt. Странная ошибка

 ,


0

2

Приложение написано на PyQt4. При вызове метода QWidget.grabKeyboard() в терминал сбрасывается ошибка следующего содержания:

X Error: BadWindow (invalid Window parameter) 3
  Major opcode: 31 (X_GrabKeyboard)
  Resource id:  0x0
Что тут может быть не так? Логи иксов по этому поводу молчат, а аналогичная конструкция на плюсах работает без ошибок.



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

Вероятно grabKeyboard вызывается до того, как вызван show?
Минимальный пример бы.

У меня вот так работает:

#!/usr/bin/python

import sys
from PyQt4.QtGui import QApplication, QMainWindow

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = QMainWindow()
    win.show()
    win.grabKeyboard()
    sys.exit(app.exec_())

Если поменять местами вызовы методов, то BadWindow. На крестах аналогично.
Есть похожий баг в pyside http://srinikom.github.io/pyside-bz-archive/1127.html, но здесь тоже grabKeyboard до show.

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