新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Qt图形编程基础之:Qt/Embedded开发入门

Qt图形编程基础之:Qt/Embedded开发入门

作者:时间:2013-09-13来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/257103.htm

4.旁述

现在的应用主要使用旁述的方式去解释用户接口的用法。Qt提供了两种旁述的方式,即“提示栏”和“这是什么”帮助按钮。

n “提示栏”是小的,通常是黄色的矩形,当光标在窗体的某些位置游动时,它就会自动地出现。它主要用于解释工具栏按钮,特别是那些缺少文字标签说明的工具栏按钮的用途。下面就是如何设置一个“存盘”按钮的提示代码。

QToolTip::add(saveButton,Save);

当提示字符出现之后,还可以在状态栏显示更详细的文字说明。

对于一些没有鼠标的设备(例如那些使用触点输入的设备),就不会出现鼠标的光标在窗体上进行游动,这样就不能激活提示栏。对于这些设备也许就需要使用“这是什么”帮助按钮,或者使用一种状态来表示输入设备正在进行游动,例如用按下或者握住的状态来表示现在正在进行游动。

n “这是什么”帮助按钮和提示栏有些相似,只不过前者是要用户单击它才会显示旁述。在小屏幕设备上,要想单击“这是什么”帮助按钮,具体的方法是,在靠近应用的X窗口的关闭按钮“x”附近你会看到一个“?”符号的小按钮,这个按钮就是“这是什么”的帮助按钮。一般来说,“这是什么”帮助按钮按下后要显示的提示信息应该比提示栏要多一些。下面是设置一个存盘按钮的“这是什么”文本提示信息的方法:

QWhatsThis::add(saveButton,Savethecurrentfile.);

QToolTip和QWhatsThis类提供了可以通过重新实现来获取更多特殊化行为的虚函数,比如根据鼠标在部件的位置来显示不同的文本。

5.动作

应用程序通常提供几种不同的方式来执行特定的动作。比如,许多应用程序通过菜单(Flie->Save)、工具栏(像一个软盘的按钮)和快捷键(Ctrl+S)来提供“Save”动作。QAction类封装了“动作”这个概念。它允许程序员在某个地方定义一个动作。

下面的代码实现了一个“Save”菜单项、一个“Save”工具栏按钮和一个“Save”快捷键,并且均有旁述帮助:

QAction*saveAct=newQAction(Save,saveIcon,Save,CTRL+Key_S,this);

connect(saveAct,SIGNAL(activated()),this,SLOT(save()));

saveAct->setWhatsThis(Savesthecurrentfile.);

saveAct->addTo(fileMenu);

saveAct->addTo(toolbar);

为了避免重复,使用QAction可保证菜单项的状态与工具栏保持同步,而工具提示能在需要的时候显示。禁用一个动作会禁用相应的菜单项和工具栏按钮。类似地,当用户单击切换型按钮时,相应的菜单项会因此被选中或不选。

12.2.6对话框设计

对话框的设计比较复杂,要使用布局管理自动地设置窗体与别的窗体之间相对的尺寸和位置,这样可以确保对话框能够最好地利用屏幕上的可用空间,接着还要使用Qt图形设计器可视化设计工具建立对话框。下面就详细讲解具体的步骤。

1.布局

Qt的布局管理用于组织管理一个父窗体区域内的子窗体。它的特点是可以自动设置子窗体的位置和大小,并可确定出一个顶级窗体的最小和缺省的尺寸,当窗体的字体或内容变化后,它可以重置一个窗体的布局。

使用布局管理,开发者可以编写独立于屏幕大小和方向之外的程序,从而不需要浪费代码空间和重复编写代码。对于一些国际化的应用程序,使用布局管理,可以确保按钮和标签在不同的语言环境下有足够的空间显示文本,不会造成部分文字被剪掉。

布局管理提供部分用户接口组件,例如输入法和任务栏变得更容易。我们可以通过一个例子说明这一点,当Qtopia的用户输入文字时,输入法会占用一定的文字空间,应用程序这时也会根据可用屏幕尺寸的变化调整自己。

Qtopia的布局管理示例如图12.11所示。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程




评论


相关推荐

技术专区

关闭