Я пытаюсь сделать приложение, просто рисуя пару фигур, а затем, если выбран из одного из трех QWidgetLists и нажал кнопку, выбранная фигура станет красной. Рисование и т. Д. Не проблема, но я не могу узнать, как я могу проверить, какой список активен и выбрал элемент. Текущий код выглядит следующим образом:Как проверить, какой QListWidget выбрал элемент
QPixmap pixmap(ui->display_field->width(),ui->display_field->height());
pixmap.fill("transparent");
int chosen_one;
if(ui->radio_circle->isChecked()){
if(circles_list.count() > 0){
chosen_one = ui->circles_list_wgt->currentItem()->text().toInt();
circles_list[chosen_one].setColor(Qt::red);
for(int i=0; i<circles_list.count(); i++) circles_list[i].draw(&pixmap);
circles_list[chosen_one].setColor(Qt::black);
}
for(int i=0; i<rectangles_list.count(); i++) rectangles_list[i].draw(&pixmap);
for(int i=0; i<triangles_list.count(); i++) triangles_list[i].draw(&pixmap);
}
if(ui->radio_rect->isChecked()){
if(rectangles_list.count() > 0){
chosen_one = ui->rectangles_list_wgt->currentItem()->text().toInt();
rectangles_list[chosen_one].setColor(Qt::red);
for(int i=0; i<rectangles_list.count(); i++) rectangles_list[i].draw(&pixmap);
rectangles_list[chosen_one].setColor(Qt::black);
}
for(int i=0; i<circles_list.count(); i++) circles_list[i].draw(&pixmap);
for(int i=0; i<triangles_list.count(); i++) triangles_list[i].draw(&pixmap);
}
if(ui->radio_tri->isChecked()){
if(triangles_list.count() > 0){
chosen_one = ui->triangles_list_wgt->currentItem()->text().toInt();
triangles_list[chosen_one].setColor(Qt::red);
for(int i=0; i<triangles_list.count(); i++) triangles_list[i].draw(&pixmap);
triangles_list[chosen_one].setColor(Qt::black);
}
for(int i=0; i<circles_list.count(); i++) circles_list[i].draw(&pixmap);
for(int i=0; i<rectangles_list.count(); i++) rectangles_list[i].draw(&pixmap);
}
ui->display_field->setPixmap(pixmap);
Первоначально приложение было немного другой метод работы, в зависимости от радиокнопок, как это прямо сейчас. Я хочу, чтобы он зависел от выбора элемента.