У меня есть QComboBox
с несколькими вариантами выбора на QToolBar
. Каждый выбор QComboBox
открывает конкретное диалоговое окно c. У меня проблема в том, что после того, как я выбрал предпочтительный индекс в выпадающем списке, никаких диалогов не открывается. Для простоты примера я связываю один и тот же диалог со всеми вариантами:
dredgewindow.h
Это заголовочный файл
namespace Ui {
class DredgeWindow;
}
class DredgeWindow : public QMainWindow
{
Q_OBJECT
public:
explicit DredgeWindow(QWidget *parent = nullptr);
~DredgeWindow();
private:
Ui::DredgeWindow *ui;
DredgeDB *mDredgeDB;
};
dredgewindow. cpp
DredgeWindow::DredgeWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::DredgeWindow)
{
ui->setupUi(this);
QComboBox* myComboBox = new QComboBox;
ui->toolBarControls->addWidget(myComboBox);
myComboBox->addItem("Please Select");
myComboBox->addItem("Bucket");
myComboBox->addItem("Scow");
myComboBox->addItem("Hopper Dredger");
switch(myComboBox->currentIndex()){
case 0:
// do nothing
break;
case 1:
// Go to Bucket
mDredgeDB = new DredgeDB();
mDredgeDB->show();
break;
case 2:
// Go to Scow...
mDredgeDB = new DredgeDB();
mDredgeDB->show();
break;
case 3:
// Go to Hopper Dredger
mDredgeDB = new DredgeDB();
mDredgeDB->show();
default:
break;
}
}
DredgeWindow::~DredgeWindow()
{
delete ui;
}
До сих пор я пытался инициировать открытие диалогов с помощью комбинированного списка, но как только я отпускаю мышь (и, следовательно, я switch
- case
) Я ожидаю, что диалог откроется, но ничего не происходит. Этот источник был полезен, хотя его не было в c ++. Но все же я использовал его, чтобы понять общий подход.
Этот подход запускает комбинированный список и устанавливает его активным, но кроме этого нет указания c.
Заранее спасибо за указание правильного направления для решения этой проблемы.