当前位置:嗨网首页>书籍在线阅读

16-信号与槽的关联

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.3.3 信号与槽的关联

在纯代码设计UI时,信号与槽的关联也需要用代码来完成。函数iniSignalSlots()初始化所有的信号与槽的关联,其完整代码如下。

void QWDlgManual::iniSignalSlots()
{
//三个颜色 QRadioButton的clicked()信号与setTextFontColor()槽函数关联
   connect(rBtnBlue,SIGNAL(clicked()),this,SLOT(setTextFontColor()));
   connect(rBtnRed,SIGNAL(clicked()),this,SLOT(setTextFontColor()));
   connect(rBtnBlack,SIGNAL(clicked()),this,SLOT(setTextFontColor()));
//三个字体设置的  QCheckBox 的clicked(bool)信号与相应的槽函数关联
   connect(chkBoxUnder,SIGNAL(clicked(bool)),
                this,SLOT(on_chkBoxUnder(bool)));
   connect(chkBoxItalic,SIGNAL(clicked(bool)),
                 this,SLOT(on_chkBoxItalic(bool)));
   connect(chkBoxBold,SIGNAL(clicked(bool)),
                this,SLOT(on_chkBoxBold(bool)));
//三个按钮的信号与窗体的槽函数关联
   connect(btnOK,SIGNAL(clicked()),this,SLOT(accept()));
   connect(btnCancel,SIGNAL(clicked()),this,SLOT(reject()));
   connect(btnClose,SIGNAL(clicked()),this,SLOT(close()));
}

设计完成后,编译并运行程序,可以得到如图2-14所示的运行效果,且功能与samp2_2相同。很显然,采用纯代码方式实现UI界面是比较复杂的,代码设计的工作量大而繁琐。