mein Plan ist es mit einem Doppelklick auf eine meiner Boxen ein extra Fenster zuöffnen, in dem Eigenschaften der Box zu finden sind. Diese sollen schon per default irgendein Wert haben und wenn ich diesen Wert manuell ändere, soll dieser Wert gespeichert werden, wenn ich auf Ok klicke.
Ich habe es bisher geschafft den DoppelLinksKlick zu implementieren, und es öffnet sich ein Fenster wo man Werte für test_variable_1, test_variable_2, test_variable_3 und test_variable_4 eintragen kann.
In meiner class Box habe ich diese vier Variablen definiert und irgendein Zahlen Wert zugeordnet.
Jetzt weiß ich leider nicht wie ich diese Werte in die class BoxAttributes bekomme, sodass sie dort bearbeitet werden können.
Habe leider keine Ahnung wie ich da rangehen soll.
from tests.testattribute.editor_graphics_box import GraphicsBox
editor_box.py
Code: Alles auswählen
class Box():
def __init__(self, scene, title="Undefined Box"):
super().__init__()
self._title = title
self.scene = scene
self.grBox = GraphicsBox(self)
self.title = title
self.scene.addBox(self)
self.scene.grScene.addItem(self.grBox)
"Box characteristics"
self.test_variable_1 = 42
self.test_variable_2 = 4
self.test_variable_3 = 90.4
self.test_variable_4 = 5.98
# The grBox know the Box Position
@property
def pos(self):
return self.grBox.pos()
# set the position of the Box
def setPos(self, x, y):
self.grBox.setPos(x, y)
@property
def title(self):
return self._title
@title.setter
def title(self, value):
self._title = value
self.grBox.title = self._title
editor_box_attributes
Code: Alles auswählen
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class BoxAttributes(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.layout = QVBoxLayout()
self.tabWidget = QTabWidget()
self.setContentsMargins(0, 0, 0, 0)
self.setGeometry(200, 500, 500, 200)
self.setWindowTitle("Box Attributes")
self.tabWidget.setFont(QFont("Ubuntu", 12))
self.buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.buttonbox.accepted.connect(self.accept)
self.buttonbox.rejected.connect(self.reject)
self.tabWidget.addTab(TabTest1(), "Test 1")
self.tabWidget.addTab(TabTest2(), "Test 2")
self.layout.addWidget(self.tabWidget)
self.layout.addWidget(self.buttonbox)
self.setLayout(self.layout)
self.show()
class TabTest1(QWidget):
def __init__(self):
super().__init__()
test_variable_1_label = QLabel("Test Variable 1: ")
test_variable_1_edit = QLineEdit()
test_variable_2_label = QLabel("Test Variable 2:")
test_variable_2_edit = QLineEdit()
layout = QVBoxLayout()
layout.addWidget(test_variable_1_label)
layout.addWidget(test_variable_1_edit)
layout.addWidget(test_variable_2_label)
layout.addWidget(test_variable_2_edit)
self.setLayout(layout)
class TabTest2(QWidget):
def __init__(self):
super().__init__()
test_variable_3_label = QLabel("Test Variable 3: ")
test_variable_3_edit = QLineEdit()
test_variable_4_label = QLabel("Test Variable 4:")
test_variable_4_edit = QLineEdit()
layout = QVBoxLayout()
layout.addWidget(test_variable_3_label)
layout.addWidget(test_variable_3_edit)
layout.addWidget(test_variable_4_label)
layout.addWidget(test_variable_4_edit)
self.setLayout(layout)
https://github.com/sebbastiannn/TUProje ... tattribute