Комментарии 22
А не проще сделать ещё один контейнер с, например, абсолютным расположением и положить туда QGraphicsScene и обычную кнопку?
0
Действительно непонятно зачем делать свой отдельный класс для контрола, который выглядит как обычная кнопка, если есть метод, который позволяет добавить виджет на сцену:
qt-project.org/doc/qt-4.8/qgraphicsscene.html#addWidget
И тогда получается одна строчка: scene.addItem(QtGui.QPushButton(«hi»))
Ну, или как-то так, в Python не силён.
Или я совсем не понял целей автора.
qt-project.org/doc/qt-4.8/qgraphicsscene.html#addWidget
И тогда получается одна строчка: scene.addItem(QtGui.QPushButton(«hi»))
Ну, или как-то так, в Python не силён.
Или я совсем не понял целей автора.
0
* scene.addWidget(QtGui.QPushButton(«hi»))
0
Например, кнопку можно «нарисовать» в виде сложной геометрической фигуры:
0
Например, такой формы:
0
1) Для большинства нормальных кнопок хватает QPushButton::setStyleSheet()
2) Для совсем странной формы — может быть проще сделать наследование (хотя я всё равно бы наследовал от QPushButton, дабы можно было добавить не обязательно на сцену). Но тогда вопрос, почему это не раскрыто? Самое интересное было бы как раз разобрать «когда» и «что» рисовать.
2) Для совсем странной формы — может быть проще сделать наследование (хотя я всё равно бы наследовал от QPushButton, дабы можно было добавить не обязательно на сцену). Но тогда вопрос, почему это не раскрыто? Самое интересное было бы как раз разобрать «когда» и «что» рисовать.
+1
Здесь цель, скорее, показать, как рисуется кнопка, не более того.
Следуя этой логике, можно нарисовать какой угодно контрол, который отсутствует в коробке.
Ах, да, вот какой формы я имел в виду: www.wikinoticia.com/images/monkeyzen/monkeyzen.com.wp-content.uploads.2009.02.sandwich-sponge.jpg
Следуя этой логике, можно нарисовать какой угодно контрол, который отсутствует в коробке.
Ах, да, вот какой формы я имел в виду: www.wikinoticia.com/images/monkeyzen/monkeyzen.com.wp-content.uploads.2009.02.sandwich-sponge.jpg
0
proxyWidget'ы вообще чаще всего как костыль выглядят.
0
Так Вы только за стандартные контролы и виджеты или спользование qml?
А как же творчество и гибкость реализации?
А как же творчество и гибкость реализации?
0
Не проще все на qml сделать?
+1
Разумеется, проще — для тех, кто с ним знаком. Причём, учитывая гибкость при использовании qml — можно сделать лучше.
0
Какова цель всего этого? Чем не подходит такой вариант?
0
Вопрос номер два, не проще ли с ним познакомится, чем заниматься странной хренью?
+2
Не будьте так категоричны, ведь не все свежие и недавние «технологии» нужно срочно начинать использовать. QML ещё и трёх лет нет, да сорс я привёл на Python — о нём и речь. Кто-то может найти для себя в этом пользу, особенно, когда срочно необходимо найти пример реализации и воспользоваться им.
Считаю это логичным.
Считаю это логичным.
0
Добавить обычную кнопку в QGGraphicsScene — это одна строчка.
0
А PyQt шевелится что ли еще? Я уж думал все на PySide перебрались, особенно учитывая недавнюю новость о его включении в Qt Project.
0
Ничего не мешает в этом коде изменить одну строчку. Хотя, не исключены некоторые коллизии из-за различий между PySide и PyQt.
0
Ну и в PySide можно точно так:
PS PyQt ещё нормально шевелится)
import sys
from PySide.QtGui import QApplication, QGraphicsScene, QGraphicsView, QPushButton
app = QApplication( sys.argv )
scene = QGraphicsScene()
view = QGraphicsView( scene )
someButton = QPushButton( "button" )
scene.addWidget( someButton )
someButton.clicked.connect( view.close )
view.show()
sys.exit( app.exec_() )
PS PyQt ещё нормально шевелится)
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Рисуем свою кнопку в QGraphicsScene в PyQt4