В пользовательском интерфейсе можно загружать изображения в QGraphicScene, используя QPushButton.Кроме того, в том же интерфейсе у меня есть QCombobox, который выполняет некоторые операции с изображениями после их загрузки.Я настраиваю пользовательский интерфейс таким образом, чтобы, если я попытаюсь использовать поле со списком до того, как какое-либо изображение будет загружено, появится предупреждение QMessage, сообщающее пользователю о необходимости загрузки изображений.Это почти работает, проблема в том, что он сбрасывает QCombobox, но снова просит загрузить изображения.Я думаю, что это входит в цикл два раза, и я изо всех сил пытался исправить ошибку.
Напомним: я открываю интерфейс, попробуйте использовать ComboBox;нет загруженных изображений, и появляется всплывающее окно QMessageBox, предлагающее пользователю загрузить изображения;Combobox автоматически сбрасывает начальное значение [которое в моем случае называется «операции выбора»], но теперь всплывает другой QMessageBox, запрашивающий то же самое, а не один раз.
Ниже части кода, я думаю, это вызываетэто: mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->leftPreview->setText("<b>No Image Set!</b>");
points.clear();
currentSelection = -1; // used to detect if images have been uploaded on QListWidget
}
void MainWindow::on_primarySubComboBoxLeft_currentIndexChanged(const QString &arg1)
{
if(currentSelection < 0) {
QMessageBox::information(this, "Option not allowed yet", "Please upload images before using this selection");
ui->primarySubComboBoxLeft->setCurrentText("Primary Substrate");
return;
} else {
selections[currentSelection]->setPrimarySubText(arg1);
selections[currentSelection]->updateLabelText();
}
}
mainwindow.h
private:
Ui::MainWindow *ui;
MGraphicsScene* leftScene;
QList<DataRegion*> selections;
int currentSelection;
Я думаю, что это входит в цикл в два раза, но яне уверен, как решить эту проблему.Спасибо за любой совет.