QTable Widgetにボタンを追加

3529 ワード

ボタンの追加
void QTableWidget::setCellWidget ( int row, int column, QWidget * widget )

Widgetは自分で定義できるボタンです
class MyPushButton : public QPushButton

{

    Q_OBJECT

public:

    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 , 

}