一列中添加多个控件
//设置查看图片按键
QPushButton* viewimage = new QPushButton();
viewimage->setText("查看图片");
connect(viewimage, &QPushButton::clicked, this, &Mainwindow::clickViewImage);
//设置查看PDF按键
QPushButton* viewpdf = new QPushButton();
viewpdf->setText("查看PDF图纸");
connect(viewpdf, &QPushButton::clicked, this, &Mainwindow::clickViewPDF);
//将这两个按键放入一个子widget中,并设置布局
QWidget* widget = new QWidget();
QHBoxLayout* layout = new QHBoxLayout(widget);
layout->addWidget(viewimage);
layout->addWidget(viewpdf);
layout->setMargin(0);
//将子widget放入QTableWidget的一个cell中
ui->pipelineList->setCellWidget(i, 1, widget);
设置相应的槽函数
view Mainwindow::clickViewImage()
{
QPushButton* pushbutton = (QPushButton*)sender();
QWidget* widget = (QWidget*)pushbutton->parent();
int x = widget->frameGeometry().x();
int y = widget->frameGeometry().y();
QModelIndex modelindex = ui->pipelineList->indexAt(QPoint(x, y));
int row = modelindex.row(); //获取该按键在QTableWidget中对应的行
int column = modelindex.column();//获取该按键在QTableWidget中对应的列
...
}