首页 > 代码库 > QTableWidget中添加按钮
QTableWidget中添加按钮
添加按钮
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )
widget可以是自己定义的按钮
class MyPushButton : public QPushButton{ Q_OBJECTpublic: explicit MyPushButton(int i, int j, int flag); ~MyPushButton(); void mySetText();//i对应端口信息}
mySetText()函数中:
setStyleSheet("background-color: rgb(255, 100, 0);");//橙色setToolTip(tr("端口未授权"));//配置的MAC地址和采集卡不符合setText(tr("端口%1").arg(m_no + 1));
按钮添加完之后怎么去触发它的点击信号呢?尝试了很多中方法,比如直接调用 QTableWidget的itemclicked函数,都失败了,
最后从Stackoverflow上找到了类似的方法,将comboBox的触发方法改成pushButton就好了
QSignalMapper* signalMapper = new QSignalMapper(this);connect(newBtn, SIGNAL(clicked()), signalMapper, SLOT(map()));//存储按钮signalMapper->setMapping(newBtn, QString("%1-%2").arg(rowCount).arg(i + 2));connect(signalMapper, SIGNAL(mapped(const QString &)),this, SLOT(changed(const QString &)));//槽函数void MainWindow::changed(QString position){ QStringList coordinates = position.split("-"); int row = coordinates[0].toInt(); int col = coordinates[1].toInt(); disPlayPort(row,col);//row 和col就是对应的行和列,对应到相应的按钮}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。