private void changeIcon() { QIcon icon = new QIcon(); for (int row = 0; row < imagesTable.rowCount(); ++row) { QTableWidgetItem item0 = imagesTable.item(row, 0); QTableWidgetItem item1 = imagesTable.item(row, 1); QTableWidgetItem item2 = imagesTable.item(row, 2); if (item0.checkState() == Qt.CheckState.Checked) { QIcon.Mode mode; if (item1.text().equals(tr("Normal"))) { mode = QIcon.Mode.Normal; } else if (item1.text().equals(tr("Active"))) { mode = QIcon.Mode.Active; } else if (item1.text().equals(tr("Disabled"))) { mode = QIcon.Mode.Disabled; } else { mode = QIcon.Mode.Selected; } QIcon.State state; if (item2.text().equals(tr("On"))) { state = QIcon.State.On; } else { state = QIcon.State.Off; } String fileName = (String) item0.data(Qt.ItemDataRole.UserRole); QImage image = new QImage(fileName); if (!image.isNull()) icon.addPixmap(QPixmap.fromImage(image), mode, state); } } previewArea.setIcon(icon); }
private void addImages() { List<String> fileNames = QFileDialog.getOpenFileNames( this, tr("Open Images"), "", new QFileDialog.Filter(tr("Images (*.png *.xpm *.jpg);;" + "All Files (*)"))); if (!fileNames.isEmpty()) { for (String fileName : fileNames) { int row = imagesTable.rowCount(); imagesTable.setRowCount(row + 1); String imageName = new QFileInfo(fileName).baseName(); QTableWidgetItem item0 = new QTableWidgetItem(imageName); item0.setData(Qt.ItemDataRole.UserRole, fileName); Qt.ItemFlags flags = item0.flags(); flags.clear(Qt.ItemFlag.ItemIsEditable); item0.setFlags(flags); QTableWidgetItem item1 = new QTableWidgetItem(tr("Normal")); QTableWidgetItem item2 = new QTableWidgetItem(tr("Off")); if (guessModeStateAct.isChecked()) { if (fileName.contains("_act")) { item1.setText(tr("Active")); } else if (fileName.contains("_dis")) { item1.setText(tr("Disabled")); } else if (fileName.contains("_sel")) { item1.setText(tr("Selected")); } if (fileName.contains("_on")) item2.setText(tr("On")); } imagesTable.setItem(row, 0, item0); imagesTable.setItem(row, 1, item1); imagesTable.setItem(row, 2, item2); imagesTable.openPersistentEditor(item1); imagesTable.openPersistentEditor(item2); item0.setCheckState(Qt.CheckState.Checked); } } }