专门做美食的视频网站,安庆商务网站建设,wordpress 函数大全,嘉兴市建设官方网站信号与槽是Qt中的核心#xff0c;也是Qt的特有的。在Qt中信号与槽的关键字为slots、signals、emit。 具体信号与槽将会在下一节中详细说明#xff0c;因为担心一些读者在没了解过槽与信号前直接讲述过深导致门槛提高#xff0c;阅读困难#xff0c;所以当前这一篇文将在不理…信号与槽是Qt中的核心也是Qt的特有的。在Qt中信号与槽的关键字为slots、signals、emit。 具体信号与槽将会在下一节中详细说明因为担心一些读者在没了解过槽与信号前直接讲述过深导致门槛提高阅读困难所以当前这一篇文将在不理解信号与槽的实现原理下完成点击按钮并弹窗感受信号与槽的使用。
创建一个Qt Widget项目双击Forms下的mainwindow.ui在弹出的UI 设计面板小部件选择区域拖拽Push Button 至窗体设计面板中 拖拽完成后的界面如下 右键 PushButton 选择转到槽 之后弹出转到槽面板选择QAstractButton下的clicked(): 这时将会跳转至一个方法中 以上操作使按钮绑定了一个方法这个方法可以称作为槽槽则是对信号响应的函数。槽可以使该函数与一个信号关联信号发射时槽函数会响应执行槽函数。 刚刚我们在槽面板下选择的是QAstractButton下的clicked()那么clicked则是发送的信号。clicked是当该按钮被点击后发送的信号。
综上所述我们可以得知槽是一个函数当一个信号发射时将会执行绑定的槽。
我们可以在该槽函数中编写某些代码检测是否在 PushButton被点击时该函数将会响应。
我们尝试使用一个弹窗作为槽函数的一个表现。可以在 mainwindow.cpp 文件的头部引入弹窗的头文件
#include QMessageBox在槽函数中添加 QMessageBox 弹窗QMessageBox为弹窗QMessageBox 的函数原型如下
static StandardButton QMessageBox::information ( QWidget * parent, const QString title, const QString text, StandardButtons buttons Ok, StandardButton defaultButton NoButton );parent为父部件 类型为 QWidgettitle为弹窗标题 类型为 QStringtext为显示内容 类型为 QStringbuttons 为弹窗有一个默认的按钮为OK 如果想显示一个OK和NO可以写为 QMessageBox::Yes | QMessageBox::No 类型为 StandardButtondefaultButton为默认选中的按钮 NoButton 则为不选中 类型为 StandardButton
有了以上说明我们可以在槽函数中添加如下代码直接填入值不需要在参数里面进行赋值
QMessageBox::information(NULL, 这是标题, 1_bit, QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);以上代码服部件为NULL标题值为“这是标题”内容为“_bit”弹窗有2个按钮一个是Yes一个是No默认选中Yes。
点击运行查看效果 可能读者在设置显示值时会出现编码问题导致显示某些值错误在后面的章节将会说明。 完整代码截图如下紫色框选区域为我添加的代码