我使用python 2.7 + pyqt4.8
我在场景中创建了许多项目,例如QGraphicsEllipseItem
和QGraphicsRectItem
。我把它们做成了不同的颜色。围绕它们的元素的分配看起来是边界的,我希望它们也将填充颜色改为另一种颜色(白色)。删除选择以返回原始颜色时。
选择时如何更改QGraphicsEllipseItem
的颜色?
答案 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;
}