选择时如何更改QGraphicsEllipseItem的颜色?

时间:2015-07-27 10:07:25

标签: python colors pyqt selection

我使用python 2.7 + pyqt4.8

我在场景中创建了许多项目,例如QGraphicsEllipseItemQGraphicsRectItem。我把它们做成了不同的颜色。围绕它们的元素的分配看起来是边界的,我希望它们也将填充颜色改为另一种颜色(白色)。删除选择以返回原始颜色时。

选择时如何更改QGraphicsEllipseItem的颜色?

1 个答案:

答案 0 :(得分:1)

您应该触发ellipseClickHandler"点击"使用处理程序方法的信号,我们在这里调用它def ellipseClickHandler(self, ellipseItem) ellipseItem.setBrush(QBrush(QtCore.Qt.red, style = QtCore.Qt.SolidPattern)) ,你可以通过调用它的setBrush方法来改变椭圆项的颜色,例如:

public class RootLayoutController {

private MainApp main;

@FXML
private MenuItem loadFiles;

@FXML
private MenuItem about;

@FXML
private void displayAbout() {
    Alert alert = new Alert(AlertType.NONE);
    alert.initStyle(StageStyle.UTILITY);
    alert.initOwner(main.getPrimaryStage());
    alert.setTitle("Organiz3r");
    alert.setHeaderText("Organiz3r v1.0");
    alert.setContentText("Developed at BitBucket");
    alert.showAndWait();
}

@FXML
private void handleLoad() {
    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Open Files");
    List<File> files = fileChooser.showOpenMultipleDialog(main.getPrimaryStage());
    main.loadFiles(files);
}

public RootLayoutController() {
    // TODO Auto-generated constructor stub
}

public void setMain(MainApp main) {
    this.main = main;
}