qtablewidget中一列添加多个控件

一列中添加多个控件

		//设置查看图片按键
		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中对应的列
    ...
}

猜你喜欢

转载自blog.csdn.net/CesareBorgia/article/details/119326905