文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>信号与槽---Designer例程

信号与槽---Designer例程

时间:2010-11-23  来源:osullishuai80

/*==================================================   试验目的:  实现信号与槽的连接   试验方式:  使用Qt Creator Designer来实现连接   试 验 人:  add by 李帅    2010-11-23 ==================================================*/ 步骤1:新建带ui界面的Qt工程,并创建类test.若编译通过,表明新建过程无误. 步骤2:将对象verticalSlider、dial、lcdNumber拖入ui图形编辑区,并修改其属性.      <1>修改dial属性:单击dial图标,选中notchesVisible,此时图标周围会产生一些毛刺.      <2>修改lcdNumber属性:         1.单击lcdNumber图标.         2.从lcdNumber属性列表中可以看出,当前该图标的高度默认为23,为了增大lcdNumber,因此可以将属性minimumSize中的高度Height修改为100.         3.从lcdNumber属性列表中可以看出,当前该图标有5感和数码管,为了增大lcdNumber,因此可以将属性QLCDNumber中的digitCount修改为2. 步骤3:对这三个对象进行布局.布局后的效果如下图所示.在图可以看出,该窗口内总共有三个部件,分别是verticalSlider(左)、dial(下)、lcdNumber(上).       步骤4:切换到"信号和槽编辑模式".为了实现拨动dial时,verticalSlider和lcdNumber均有相应变化,或者拨动verticalSlider时,dial和lcdNumber均有相应变化,必须在三者之间建立某种关联关系.在Qt中,这种关联关系就是通过信号-槽而实现的.      (1)建立dial与verticalSlider之间的关联         <1>左键单击dial(不松手),向verticalSlider拖动鼠标,当verticalSlider被红色方框圈住时,松开左键.效果如下图所示.            <2>松开左键后,系统自动弹出如下图所示的对话框.该对话框用于连接哪个信号与哪个槽.由于现在是通过dial来控制verticalSlider,表示是由dial发送信号,由verticalSlider来执行槽(函数).所以,在图中左侧(dial)选中valueChanged(int),在右侧(verticalSlider)选中setValue(int),表示由dial设置变量value,并将该值"传递"给verticalSlider的槽函数setValue.于是,在转动dial过程中,变量value的值在不停的发生变化,此时Qt会将变化中的value传递给verticalSlider,这样对象verticalSlider也会根据dial的转动而作出相应的变化.            <3>单击OK时,Qt就建立了dial与verticalSlider的关联关系,如下图所示.      (2)按照类似的方法建立dial与lcdNumber之间的关联、verticalSlider与lcdNumber之间的关联、verticalSlider与dial之间的关联.最终关联效果如下图所示.      (3)单击空白区域,对整体进行布局,编译后生成如下图所示.在图中,拖动dial时,部件verticalSlider和lcdNumber会发生变化;拖动verticalSlider时,部件dial和lcdNumber会发生变化.这就是三者之间的关联关系.   【attention】部件与窗口的关联    在实际应用中,常常使某个部件与整个窗口的状态发生关联.比如,当用户单击"quit"键时,会关闭主窗口.当用户单击"隐藏"键时,会隐藏主窗口.这就是部件与窗口的关联. (1)切换到"信号和槽编辑模式". (2)按住鼠标左键不松手,将其向窗口边界处拖动,直到图中出现数字电路中的GND图标为止. (3)松开左键后,系统自动弹出对话框.该对话框用于设置该键发出的信号与槽之间的关联.由于该键发出信号的动作是单击,因此在左侧(pushButton)内选择clicked().由于窗口的动作是关闭,因此在右侧(test)内选择close().注意,若找不到合适的选择,可选中"show signals and slots from QWidget",这会增加一些选择. (4)按照步骤(3)来设置.需要注意的是,隐藏键时应选择为hide().最终关联图如下所示. (5)编译生成窗口后,可以对其进行测试.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载