픽스맵의 "그리드보기"를 구현하고 싶습니다. 이것이 UI의 동작 방식입니다. 단추를 클릭하면 QGraphicsScene (완료)과 함께 QGraphicsView가 표시되고 모든 QPixmaps가 격자보기로 표시됩니다. 실제로 그리드를보고 싶지는 않습니다. 그냥 10 열 (pixmaps) pr과 같은 pixmap을 구성하고 싶습니다. 각 픽셀 맵 사이에 10 픽셀의 공백이 있어야합니다. (완료되지 않음). 이것이 어떻게 구현 될까요? 편집 :
픽스맵의 QGraphicsScene 격자보기
spriteView = new QGraphicsView(new SpriteScene(), this);
spriteView.setGeometry(0, 35, 850, 550);
spriteView.setAlignment(new Qt.AlignmentFlag[]{Qt.AlignmentFlag.AlignLeft, Qt.AlignmentFlag.AlignTop});
spriteView.hide();
: 여기에 지금까지
public SpriteScene() {
super(0, 0, 800, 500);
QPixmap[] sprites = GUI.getWInterface().sprites;
List<QPixmap> l = Arrays.asList(sprites);
Iterator<QPixmap> i = l.iterator();
int rows = 10/sprites.length;
boolean isDone = false;
for(int y = 0; y < rows; y++) {
for(int x = 0; x < 10; x++) {
if(i.hasNext()) {
QGraphicsPixmapItem pixmap = addPixmap(i.next());
pixmap.setPos(x * 64 + 10 , y * 64 + 10);
} else {
isDone = true;
break;
}
}
if(isDone) {
break;
}
}
}
SpriteScene이 QGraphicsScene를 확장 (두 번째 주석에 설명 된 결과를 생성하는)이 같은를 QGraphicsView에 추가되고 한 일이다
아, 그리고 방법에 의해 각 픽셀 맵은 64x64px :
그리드 그리기를 시도했습니다. 하지만 매번 시도 할 때마다 첫 번째 픽스맵 이전에 10px 간격 만 표시되기 때문에 그렇게 할 수 없습니다. 그 후에, 그들은 서로의 직후에 모두 배치됩니다 :) – Benjamin
코드를 게시하면 사람들이 어떻게 고칠 수 있는지 알 수 있습니다. – Mat
완료. 게시물을 봐 :) – Benjamin