Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PySide и наследование QGraphicsScene - в чем ошибка? [RSS Feed]

#1 Фев. 13, 2011 10:36:21

Zio
От:
Зарегистрирован: 2011-02-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

PySide и наследование QGraphicsScene - в чем ошибка?

На сцену добавляю текстовой элемент и отслеживаю изменения его положения. В приведенном ниже варианте все работает как надо. Но при использовании наследника сцены (раскомментировать #sc = WSC()) - текст не отображается. Без переопределения itemChange - работает. В чем ошибка?

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PySide import QtCore, QtGui

class WSC (QtGui.QGraphicsScene):
def __init__(self, parent=None):
super(WSC, self).__init__(parent)

class WSNode (QtGui.QGraphicsSimpleTextItem):
def showNode(self):
self.setFlag(QtGui.QGraphicsItem.ItemSendsGeometryChanges,True)
self.setPos(27.4, 76.1)
self.setFlag(QtGui.QGraphicsItem.ItemIsSelectable)
self.setText('txt')
self.setFlag(QtGui.QGraphicsItem.ItemIsMovable, True)

self.display.addItem(self)

def itemChange(self, change, value):
if change == QtGui.QGraphicsItem.ItemPositionChange:
print value.x()
return super(WSNode,self).itemChange(change, value)

app = QtGui.QApplication(sys.argv)
sc = QtGui.QGraphicsScene()
#sc = WSC()

view = QtGui.QGraphicsView(sc)
view.show()

nn=WSNode()
nn.display=sc
nn.showNode()

sys.exit(app.exec_())
Решено:
проблема была в устаревшем PySide из репозитория убунты. На библиотеке 1.0.0-бета все заработало как положено.



Отредактировано (Фев. 13, 2011 13:39:41)

Офлайн

  • Начало
  • » GUI
  • » PySide и наследование QGraphicsScene - в чем ошибка?[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version