查看完整版本: [-- 在tablewidget中添加button之后怎么去获取信号 --]

QTCN开发网 -> Qt嵌入式开发 -> 在tablewidget中添加button之后怎么去获取信号 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

skylly_king 2017-02-26 15:57

在tablewidget中添加button之后怎么去获取信号

在tablewidget中动态的添加按键,每行都有一个。再点击某一行中的按键,去做相应的事件。现在不知道如何去获取按键的按下状态

skylly_king 2017-02-26 15:59
没有没有大神指点一下

skylly_king 2017-02-26 16:01

skylly_king 2017-02-26 16:34
谁给我的建议啊  小白一枚

firebolt 2017-02-26 23:00
连接信号槽不解释了。
随便说一下啊。
1、笨办法1
每一行保存一个button的指针,然后在slot里遍历每一行的button是否等于sender。
2、笨办法2
做一个QPushButton的派生类,保存一个行号,emit 一个消息,把这个行号作为参数穿过去。
3、变通的办法
使用QButtonGroup,addButton的时候可以传递一个行号进去,消息里根据这个行号找到所在的行。
暂时就想到这些。

skylly_king 2017-02-27 10:45
firebolt:连接信号槽不解释了。
随便说一下啊。
1、笨办法1
每一行保存一个button的指针,然后在slot里遍历每一行的button是否等于sender。
2、笨办法2
....... (2017-02-26 23:00) 

现在遇到的情况是,点击按钮,什么信号都收不到

skylly_king 2017-02-27 10:51
firebolt:连接信号槽不解释了。
随便说一下啊。
1、笨办法1
每一行保存一个button的指针,然后在slot里遍历每一行的button是否等于sender。
2、笨办法2
....... (2017-02-26 23:00) 



  1. ui->tableWidget->setCellWidget(0,7,new QPushButton("test"));
    connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(tableWidget_checkBox(int, int)));
       // connect(((QPushButton*)this->sender())->whatsThis(), SIGNAL(cellClicked(int,int)), this, SLOT(tableWidget_button(int, int)));
        //connect(ui->tableWidget, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(tableWidget_button(QTableWidgetItem*)));
            connect(ui->tableWidget, SIGNAL(cellPressed(int,int)), this, SLOT(tableWidget_button(int, int)));

kimtaikee 2017-02-27 11:42
skylly_king:ui->tableWidget->setCellWidget(0,7,new QPushButton("test"));
connect(ui->tableWidget, SIGNAL(cellChanged(int,int)), this, SLOT(tableWidget_checkBox(int, int)));
   // connect(((QPushButton*)this->sender())->whatsThis(), SIGN .. (2017-02-27 10:51) 


  1. QPushButton* button = new QPushButton("test", this);
    ui->tableWidget->setCellWidget(0, 7, button);
    connect(button, &QAbstractButton::click, [] () {
          qDebug() << "you dare hit me ???";
    });

firebolt 2017-02-27 11:53
7楼正解。


查看完整版本: [-- 在tablewidget中添加button之后怎么去获取信号 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled