2014-06-05 1 views
0

현재 개발중인 애플리케이션의 GUI를 사용하고 있습니다. 나는 Qt Design과 주로 PyQt를 사용하고 있습니다. 내 자신의 이미 개발 된 위젯에 사전 제작 된 위젯을 구현할 수있는 방법이 있습니까? 어떤 조언을 환영하고 크게 감사하겠습니다! 감사Graph를 PyQT 위젯에 구현하는 방법

+0

여러 가지 방법이 있습니다. 먼저 pyqtgraph 나 matplotlib와 같은 Qt를 지원하는 그래프 툴킷을 선택해야합니다. 그래프 툴킷을 선택한 후에는 원하는 작업을 수행하는 방법에 대한 설명서를 찾을 수 있어야합니다 (또는 여기에 새 질문을 게시 할 수 있음) –

답변

0

두 가지 제안 :

  1. 당신은 이미 당신이 위젯 내에서 표시 할 이미지가있는 경우, 당신은 당신이 QImage에서 얻을 QPixmap ('some_image.jpg와 setPixmap를 호출하는 QLabel을 사용할 수 있습니다 ')
  2. 데이터 차트를 표시하려면 matplotlib!

샘플 코드 :

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg 
from matplotlib.figure import Figure 
from PyQt4 import QtGui 


class Graph(FigureCanvasQTAgg): 
    """ 
    Matplot Widget 
    """ 
    def __init__(self, figure, parent=None): 
     super().__init__(figure) 
     self.setParent(parent) 
     self.axes = figure.add_subplot(111) 
     self.axes.hold(False) 
     self.axes.plot(range(10), range(10), 'b') 
     self.draw() 
     self.updateGeometry() 


class ImageView(QtGui.QLabel): 
    def __init__(self, some_image, parent=None): 
     super().__init__(parent) 
     self.setPixmap(QtGui.QPixmap.fromImage(QtGui.QImage(some_image))) 


if __name__ == "__main__": 
    import sys 
    app = QtGui.QApplication(sys.argv) 
    figure = Figure(figsize=(4, 2), dpi=100) 
    # Uncomment one of the following to test it 
    # window = Graph(figure) 
    # window = ImageView('my_image.jpg') # don't forget to give a valid image path 
    try: 
     window.show() 
    except NameError: 
     raise NameError("Don't forget to uncomment one of the window versions") 
    app.exec_()