音视频 Day03 signal - slot 信号和槽

216 阅读1分钟

1. 常规设置窗口和添加子控件的代码如下(了解即可)

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle("主窗口");
    setFixedSize(400, 400);
    move(100, 100);


    // 创建一个按钮
    QPushButton *btn = new QPushButton;
    btn->setText("登陆");
    btn->setParent(this);
    btn->move(50, 50);
    btn->resize(100,50);
}

2. 通过什么函数,将信号的发送者、信号、信号接收者、槽连接在一起?

  • 通过 connect 函数
//connect(信号的发送者, 信号, 信号的接收者, 槽);
 
// 比如点击按钮,关闭当前窗口
// btn发出clicked信号,就会调用this的close函数
connect(btn, &QPushButton::clicked, this, &MainWindow::close);
 
// 可以通过disconnect断开连接
disconnect(btn, &QPushButton::clicked, this, &MainWindow::close);