mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug"
#include "QCheckBox"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(changeTest(int, int)));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::changeTest(int row, int col)
{
//QMessageBox::about(0,QString::number(row),QString::number(col));
qDebug()<<row<<col;
}//
void MainWindow::on_pushButton_clicked()
{
QString m=ui->lineEdit->text();
int z=m.toInt(0,10);
ui->tableWidget->setRowCount(z);
QString str;
QString numStr;
pBoxGrp = new QButtonGroup(this);
for(int m=0;m<z;m++)
{
// ui->tableWidget->setCellWidget(m,1,e);
numStr.clear();
numStr.clear();
numStr.setNum(m);
str = "chkbox" +numStr ;
QCheckBox *pBox =new QCheckBox(str);
pBox->setObjectName(str);
pBoxGrp->addButton(pBox,m);
pBoxGrp->setExclusive(false);
connect(pBoxGrp,SIGNAL(buttonClicked(int)),this,SLOT(slotBoxStateChanged(int)));
ui->tableWidget->setCellWidget(m,1,pBox);
}
}//當選中checke是第一列分別顯示出相應的行號 沒選中什么也不顯示
void MainWindow::slotBoxStateChanged(int id)
{
QAbstractButton *pButton =pBoxGrp->button(id);
QCheckBox *pBox =(QCheckBox*)pButton;
if(pBox->checkState()==Qt::Checked)
{
QString str;
int nNum =id +1;
str.setNum(nNum);
ui->tableWidget->setItem(id,0,new QTableWidgetItem(str));
}
else
{
ui->tableWidget->takeItem(id,0);
}
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
