Added pyqt example files and updated some test code.
This commit is contained in:
parent
5fb3eb18de
commit
9ebc928391
4 changed files with 136 additions and 9 deletions
66
qttest-alt.py
Normal file
66
qttest-alt.py
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
from testclasses import *
|
||||
from PyQt4 import QtGui, QtCore
|
||||
import sys, array
|
||||
from cStringIO import StringIO
|
||||
|
||||
class JGUIWidget(QtGui.QWidget):
|
||||
def __init__(self, width, height, parent=None):
|
||||
super(JGUIWidget, self).__init__(parent)
|
||||
self.surf = TestSurface([width, height])
|
||||
self.setGeometry(0,0, width, height)
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.setWindowTitle("JGUI Qt")
|
||||
redrawTimer = QtCore.QTimer(self)
|
||||
self.connect(redrawTimer, QtCore.SIGNAL("timeout()"), self, QtCore.SLOT("update()"))
|
||||
redrawTimer.start(1000/60)
|
||||
self.setCursor(QtGui.QCursor(QtCore.Qt.BlankCursor))
|
||||
self.button = QtGui.QPushButton('Test', self)
|
||||
self.button.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
|
||||
layout = QtGui.QVBoxLayout(self)
|
||||
layout.setAlignment(QtCore.Qt.AlignBottom)
|
||||
layout.addWidget(self.button)
|
||||
|
||||
self.paintSurface = QtGui.QPainter(self)
|
||||
|
||||
def mousePressEvent(self, event):
|
||||
if event.button() == QtCore.Qt.LeftButton:
|
||||
self.surf.inject_mouse_down('mouse-left')
|
||||
if event.button() == QtCore.Qt.RightButton:
|
||||
self.surf.inject_mouse_down('mouse-right')
|
||||
if event.button() == QtCore.Qt.MiddleButton:
|
||||
self.surf.inject_mouse_down('mouse-middle')
|
||||
|
||||
def mouseReleaseEvent(self, event):
|
||||
if event.button() == QtCore.Qt.LeftButton:
|
||||
self.surf.inject_mouse_up('mouse-left')
|
||||
if event.button() == QtCore.Qt.RightButton:
|
||||
self.surf.inject_mouse_up('mouse-right')
|
||||
if event.button() == QtCore.Qt.MiddleButton:
|
||||
self.surf.inject_mouse_up('mouse-middle')
|
||||
|
||||
def resizeEvent(self, event):
|
||||
size = event.size()
|
||||
self.width = size.width()
|
||||
self.height = size.height()
|
||||
self.surf.notify_window_resize(size.width(), size.height())
|
||||
|
||||
def eventFilter(self, source, event):
|
||||
if event.type() == QtCore.QEvent.MouseMove and self is source:
|
||||
pos = event.pos()
|
||||
self.surf.inject_mouse_position([pos.x(), pos.y()])
|
||||
return QtGui.QMainWindow.eventFilter(self, source, event)
|
||||
|
||||
def paintEvent(self, event):
|
||||
self.surf.draw()
|
||||
img = QtGui.QImage(self.surf.csurface.get_data(), self.width, self.height, QtGui.QImage.Format_ARGB32)
|
||||
self.paintSurface.begin(self)
|
||||
self.paintSurface.drawImage(0, 0, img)
|
||||
self.paintSurface.end()
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QtGui.QApplication(sys.argv)
|
||||
widget = JGUIWidget(800, 600)
|
||||
widget.show()
|
||||
app.installEventFilter(widget)
|
||||
sys.exit(app.exec_())
|
||||
62
qttest.py
Normal file
62
qttest.py
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
from testclasses import *
|
||||
from PyQt4 import QtGui, QtCore
|
||||
import sys, array
|
||||
from cStringIO import StringIO
|
||||
|
||||
class JGUIWidget(QtGui.QWidget):
|
||||
def __init__(self, width, height, parent=None):
|
||||
super(JGUIWidget, self).__init__(parent)
|
||||
self.surf = TestSurface([width, height])
|
||||
self.setGeometry(0,0, width, height)
|
||||
self.width = width
|
||||
self.height = height
|
||||
self.setWindowTitle("JGUI Qt")
|
||||
redrawTimer = QtCore.QTimer(self)
|
||||
self.connect(redrawTimer, QtCore.SIGNAL("timeout()"), self, QtCore.SLOT("update()"))
|
||||
redrawTimer.start(1000/60)
|
||||
|
||||
self.paintSurface = QtGui.QLabel(self)
|
||||
self.paintSurface.setGeometry(0, 0, width, height)
|
||||
self.paintSurface.show()
|
||||
|
||||
def mousePressEvent(self, event):
|
||||
if event.button() == QtCore.Qt.LeftButton:
|
||||
self.surf.inject_mouse_down('mouse-left')
|
||||
if event.button() == QtCore.Qt.RightButton:
|
||||
self.surf.inject_mouse_down('mouse-right')
|
||||
if event.button() == QtCore.Qt.MiddleButton:
|
||||
self.surf.inject_mouse_down('mouse-middle')
|
||||
|
||||
def mouseReleaseEvent(self, event):
|
||||
if event.button() == QtCore.Qt.LeftButton:
|
||||
self.surf.inject_mouse_up('mouse-left')
|
||||
if event.button() == QtCore.Qt.RightButton:
|
||||
self.surf.inject_mouse_up('mouse-right')
|
||||
if event.button() == QtCore.Qt.MiddleButton:
|
||||
self.surf.inject_mouse_up('mouse-middle')
|
||||
|
||||
def resizeEvent(self, event):
|
||||
size = event.size()
|
||||
self.width = size.width()
|
||||
self.height = size.height()
|
||||
self.paintSurface.setGeometry(0, 0, self.width, self.height)
|
||||
self.surf.notify_window_resize(size.width(), size.height())
|
||||
|
||||
def eventFilter(self, source, event):
|
||||
if event.type() == QtCore.QEvent.MouseMove:
|
||||
pos = event.pos()
|
||||
self.surf.inject_mouse_position([pos.x(), pos.y()])
|
||||
return QtGui.QMainWindow.eventFilter(self, source, event)
|
||||
|
||||
def paintEvent(self, event):
|
||||
self.surf.draw()
|
||||
img = QtGui.QImage(self.surf.csurface.get_data(), self.width, self.height, QtGui.QImage.Format_ARGB32)
|
||||
self.paintPixmap = QtGui.QPixmap.fromImage(img)
|
||||
self.paintSurface.setPixmap(self.paintPixmap)
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QtGui.QApplication(sys.argv)
|
||||
widget = JGUIWidget(800, 600)
|
||||
widget.show()
|
||||
app.installEventFilter(widget)
|
||||
sys.exit(app.exec_())
|
||||
1
test.py
1
test.py
|
|
@ -27,7 +27,6 @@ class Test(ShowBase):
|
|||
c.setHasUvs(True)
|
||||
screen = render2d.attachNewNode(c.generate())
|
||||
screen.setTransparency(TransparencyAttrib.MAlpha)
|
||||
screen.setTwoSided(True)
|
||||
|
||||
self.surf = TestSurface([width, height])
|
||||
|
||||
|
|
|
|||
|
|
@ -28,20 +28,20 @@ class TestSurface(Surface):
|
|||
draggable=True))
|
||||
|
||||
self.root_window.add_child(my_win)
|
||||
self.root_window.add_child(TestWindow('child2', position=[200,200],
|
||||
size=[200,200], draggable=True))
|
||||
#self.root_window.add_child(TestWindow('child2', position=[200,200],
|
||||
# size=[200,200], draggable=True))
|
||||
|
||||
self.root_window.add_child(ImageWindow('image', image_path=os.path.join(IMG_DIR, 'wrench.png'),
|
||||
position=[0,200], size=[200,200],
|
||||
draggable=True, resizable=True))
|
||||
|
||||
child3 = TestWindow('child3', position=[300,300],
|
||||
size=[200,200], draggable=True)
|
||||
child3.add_child(TestWindow('child3-1', position=[10,10],
|
||||
size=[50,50], draggable=True,
|
||||
resizable=True))
|
||||
#child3 = TestWindow('child3', position=[300,300],
|
||||
# size=[200,200], draggable=True)
|
||||
#child3.add_child(TestWindow('child3-1', position=[10,10],
|
||||
# size=[50,50], draggable=True,
|
||||
# resizable=True))
|
||||
|
||||
self.root_window.add_child(child3)
|
||||
#self.root_window.add_child(child3)
|
||||
|
||||
|
||||
class TestWindow(Window):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue