QTable Widgetにボタンを追加
3529 ワード
ボタンの追加
Widgetは自分で定義できるボタンです
ボタンを追加した後、どのようにしてクリック信号をトリガーしますか?QTableWidgetのitemclicked関数を直接呼び出すなど、多くの方法を試みましたが、失敗しました.
最後にStackoverflowから似たような方法を見つけ、comboBoxのトリガ方法をpushButtonに変更すればいいのです
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 ,
}