2016-10-18 2 views
1

Я пытаюсь вставить граф в свой графический интерфейс PySide, используя pyqtgraph.Импорт QtGui из pyqtgraph.Qt как *

Цель: продолжать использовать подстановочный импорт для PySide, соблюдая правила импорта pyqtgraph.

По-видимому, PySide.QtCore и PySide.QtGui необходимо импортировать через pyqtgraph, чтобы пакет работал правильно. В примере, его написано так:

from pyqtgraph.Qt import QtCore, QtGui 

Обычно я импортировать компоненты PySide как:

from PySide.QtCore import * 
from PySide.QtGui import * 

Обратите внимание на заявление импорта подстановочные. Проблема заключается в том, что следующий бросает исключение на импорт (ImportError: No module named QtGui):

from pyqtgraph.Qt.QtCore import * 
from pyqtgraph.Qt.QtGui import * 

Есть ли способ обойти это? Я бы предпочел не возвращаться в свой код и заменяет все self.clock_timer = QTimer() операциями self.clock_timer = QtCore.Timer().

Short Cut: Если бы я мог не идти через pyqtgraph импортировать QtCore и QtGui, что было бы еще лучше. Когда я пытаюсь использовать это сделать (используя первый стиль импорта), некоторые функции (например, AutoPan) не работают.

ответ

1

Поместите это в начале вашего приложения, чтобы убедиться, что pyqtgraph предварительно загружает PySide модулей (и делает то, что обезьяна-латание это нужно сделать):

import os 

os.environ['PYQTGRAPH_QT_LIB'] = 'PySide' 

from pyqtgraph import Qt 

Теперь вы можете безопасно использовать предпочитаемый импорт , потому что sys.modules уже содержит любые загруженные модули: загружен:

from PySide.QtCore import * 
+0

Это выглядит многообещающим! Я смогу попробовать это через пару дней, а затем обязательно вернусь, чтобы дать вам чек, если он будет работать. –

Смежные вопросы