combox如何获取数据:
1.currentIndex(); 获取当前comBox的索引,是int类型的值。
2.currentText(); 获取当前comBox的文本,是QString类型。
3.currentData(int role = Qt::UserRole)获取当前comBox绑定的数据,是QVariant类型。
具体使用方法:
QWidget * widget=ui->tableWidget->cellWidget(j,0);//获得widget
QComboBox *combox=(QComboBox*)widget;//强制转化为QComboBox
double kernelkind=combox->currentIndex();//获得索引数据
int QString str=combox->currentText();//获取文本文档
自己编写的代码:用来获取combox和tablewidget中的内容
int *Dialog1::on_pushButton_2_clicked(){
int num;int j=5;double *a=new double[j];for(int j=0;j<2;j++){QWidget * widget=ui->tableWidget->cellWidget(j,0);//获得widgetQComboBox *combox=(QComboBox*)widget;//强制转化为QComboBoxQString string=combox->currentText();//获得combox中的文本内容if(string==tr(""))//判断内容是否为空{{ QMessageBox::warning(NULL, "warning", "Content",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);break;}}}for(int j=2;j<5;j++){if(ui->tableWidget->item(j,0)==NULL|| //判断指向该cell的指针是否为空(ui->tableWidget->item(j,0)&&ui->tableWidget->item(j,0)->text()==tr(""))){ QMessageBox::warning(NULL, "warning", "Content",QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);break;}}for(int j=0;j<2;j++){QWidget * widget=ui->tableWidget->cellWidget(j,0);//获得widgetQComboBox *combox=(QComboBox*)widget;//强制转化为QComboBoxdouble kernelkind=combox->currentIndex();a[j]=kernelkind;qDebug()<< a[j];}for(int j=2;j<5;j++){QString s=ui->tableWidget->item(j,0)->text();//取出字符串double num = s.toDouble();//转成inta[j]=num;qDebug()<< a[j];//a[j]=s.toInt();}num++;//qDebug()<<j;//delete[]a;qDebug()<< a[4];int t=one_against_one(a);return a;}