话不多说,运行图如下:
代码如下:
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QComboBox>
#include <QStringList>
#include <QMessageBox>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public slots:
void pressBtn();
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
ui->tableWidget->setColumnCount(3);
ui->tableWidget->setColumnWidth(0,150);
QStringList combobox1_list;
combobox1_list.append(tr("comboBox11"));
combobox1_list.append(tr("comboBox12"));
combobox1_list.append(tr("comboBox13"));
combobox1_list.append(tr("comboBox14"));
QComboBox *combobox1=new QComboBox();
combobox1->addItems(combobox1_list);
ui->tableWidget->insertRow(0);
ui->tableWidget->setCellWidget(0,1,combobox1);
QTableWidgetItem *headItem1=new QTableWidgetItem();
ui->tableWidget->setItem(0,0,headItem1);
ui->tableWidget->item(0,0)->setText(tr("点击此处进行选择行"));
QStringList combobox2_list;
combobox2_list.append(tr("comboBox21"));
combobox2_list.append(tr("comboBox22"));
combobox2_list.append(tr("comboBox23"));
combobox2_list.append(tr("comboBox24"));
QComboBox *combobox2=new QComboBox();
combobox2->addItems(combobox2_list);
ui->tableWidget->setCellWidget(0,2,combobox2);
QStringList combobox3_list;
combobox3_list.append(tr("comboBox31"));
combobox3_list.append(tr("comboBox32"));
combobox3_list.append(tr("comboBox33"));
combobox3_list.append(tr("comboBox34"));
QComboBox *combobox3=new QComboBox();
combobox3->addItems(combobox3_list);
ui->tableWidget->insertRow(1);
ui->tableWidget->setCellWidget(1,1,combobox3);
QTableWidgetItem *headItem2=new QTableWidgetItem();
ui->tableWidget->setItem(1,0,headItem2);
ui->tableWidget->item(1,0)->setText(tr("点击此处进行选择行"));
QStringList combobox4_list;
combobox4_list.append(tr("comboBox41"));
combobox4_list.append(tr("comboBox42"));
combobox4_list.append(tr("comboBox43"));
combobox4_list.append(tr("comboBox44"));
QComboBox *combobox4=new QComboBox();
combobox4->addItems(combobox4_list);
ui->tableWidget->setCellWidget(1,2,combobox4);
//ui->tableWidget->item(1,0)->setText(tr("点击此处进行选择行"));
connect(ui->pushButton,SIGNAL(clicked(bool)),this,SLOT(pressBtn()));
}
void Widget::pressBtn(){
int rowNum=ui->tableWidget->currentRow();
QString msg;
for(int i=1;i<ui->tableWidget->columnCount();i++){
QWidget *widget=ui->tableWidget->cellWidget(rowNum,i);
QComboBox *combox=(QComboBox*)widget;
msg=msg.append(combox->currentText())+" ";
}
QMessageBox::information(this,tr("提示"),msg);
}
Widget::~Widget()
{
delete ui;
}
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}