我正在嘗試從動態多維 QComboBox 中插入多個 QComboBoxes,例如:
QComboBox **test = new QComboBox *[x];
test[x] = new QComboBox [y];
ui->QVBoxLayout->addWidget(test["one of x values"]["one of y values"]);
但這給了我一個錯誤:沒有可行的從 QComboBox 到 *QWidget 的轉換。
使用 :
QComboBox *test = new QComboBox;
ui->QVBoxLayout->addWidget(test);
作業得很好。
我的情況是(這是示例):
for(int tmp = 1; fieldAmount >= tmp; tmp ){
//fieldAmount is the number of fields presented in a table that was loaded in from a file
combobox1[currentTable] = new QComboBox [tmp];
ui->verticalLayout_2->addWidget(&combobox1[currentTable][tmp]); //Gives the seg fault
}
我的案例所做的是基于我加載的檔案,找到我將擁有的表格數量以及需要輸入的值數量。這就是為什么我需要一個動態多維 QComboBox。
我不正確的語法(或執行順序)是什么?如果這是重復的,我很抱歉,但我無法找到已經在這里發布的問題。
uj5u.com熱心網友回復:
combobox1[currentTable] = new QComboBox [fieldAmount];
for(int tmp = 0; fieldAmount > tmp; tmp ){
ui->verticalLayout_2->addWidget(&combobox1[currentTable][tmp]);
}
其中 fieldAmount 是
int fieldAmount = (SQLDataBaseContet->record()).count()-1; // -1 as offset because of id
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/400887.html
