1.用图形界面的signal和slot编辑器添加
2.拖到窗体上的控件如 pushButton的消息处理函数
右键 pushButton选择go to slot
当然也可以不用右键选择go to slot,而是自己写代码添加(就如3)。老外就经常这样干的。
比如拖到窗体上一个按钮叫pushButton
手动声明槽函数
并且发现手动添加和右键go to slot 也添加槽函数,在按钮按下的时候这两个槽函数都会执行。
3. 对于动态创建的对象,如按钮,则没办法用右键go to slots,那么只好手动添加了。
先声明slot,名字任意
SIGNAL(clicked())是QPushButton的信号,QPushButton支持的信号有哪些?看help,如下
2.拖到窗体上的控件如 pushButton的消息处理函数
右键 pushButton选择go to slot
当然也可以不用右键选择go to slot,而是自己写代码添加(就如3)。老外就经常这样干的。
比如拖到窗体上一个按钮叫pushButton
手动声明槽函数
private slots:
void pushButton_click( void );
实现槽函数
void MainWindow::pushButton_click( void )
{
qDebug()<<"dd";
}
在需要的地方连接信号和槽
connect( ui->pushButton, SIGNAL( clicked() ),this, SLOT( pushButton_click() ) );
并且发现手动添加和右键go to slot 也添加槽函数,在按钮按下的时候这两个槽函数都会执行。
3. 对于动态创建的对象,如按钮,则没办法用右键go to slots,那么只好手动添加了。
先声明slot,名字任意
private slots:
void btPress();
再实现slot
void MainWindow::btPress()
{
QMessageBox box;
box.setText("d");
box.exec();
}
在需要的时候创建bt,并connect
void MainWindow::on_pushButton_clicked()
{
QPushButton *bt=new QPushButton(this);
bt->setText("bt");
bt->show();
connect(bt,SIGNAL(clicked()),this,SLOT(btPress()));
}
SIGNAL(clicked())是QPushButton的信号,QPushButton支持的信号有哪些?看help,如下
Additional Inherited Members
- 4 signals inherited from QAbstractButton