QT--connect的使用

在qt里面我们可以用connect将信号与槽函数连接器起来,而connect是一个常用的函数,用法也非常简单。
 

来看一个非常简单的栗子


Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    qpb=new QPushButton(this);//初始化绑定对象树
    qpb->setText("关闭按钮");//在按钮上设置文本
    qpb->move(350,250);      //设置按钮的位置
    connect(qpb,&QPushButton::clicked,this,&Widget::close);//将信号与槽绑定起来
}

connect函数前两个参数对应,后两个参数对应。
前两个参数是设置信号,qpb就是传入的信号对象指针,而后面跟的必须是这个对象指针的信号函数的指针。
后两个参数是设置槽函数,就是对信号的处理,这里的this就是要处理这个信号的对象,后面跟着 的就是这个对象里面的函数指针。这个函数其实就是“回调函数”,类似于仿函数那类 东西。

代码生成的程序:

点击就会关闭窗口

这是一个简单的 Qt-Designer 点名程序的示例代码: ```python from PyQt5 import QtWidgets, uic import random class MyWindow(QtWidgets.QMainWindow): def __init__(self): super(MyWindow, self).__init__() uic.loadUi('mainwindow.ui', self) #加载 UI 文件 self.studentList = ['Alice', 'Bob', 'Cathy', 'David', 'Eva', 'Frank'] #学生名单 self.pushButton.clicked.connect(self.pickOne) #连接按钮的点击事件和 pickOne 函数 def pickOne(self): student = random.choice(self.studentList) #从名单中随机选择一个学生 self.label.setText(student) #在标签上显示选中的学生名字 if __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_()) ``` 在此示例中,我们使用 Qt Designer 创建了一个窗口 UI,并在其中添加了一个标签 `label` 和一个按钮 `pushButton`。我们将按钮的点击事件连接到 `pickOne` 函数,该函数将从预定义的学生名单中随机选择一个学生,并在标签上显示其名字。 你可以按照以下步骤创建此 UI: 1. 打开 Qt Designer。 2. 创建一个新的窗口(Main Window)。 3. 将一个标签(Label)和一个按钮(Push Button)拖放到窗口中。 4. 在属性编辑器中为标签和按钮设置相应的名称和标签文本。 5. 将 UI 保存为 `mainwindow.ui` 文件。 然后你可以运行以上代码,在窗口中点击按钮,程序会随机选择一个学生并在标签上显示其名字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值