snifer

【原创】Qt/Embedded图形界面编程之进阶

0
阅读(3279)

上一篇关于QT的图形界面编程方法大家比较喜欢,那我就接着在写一篇吧,与大家共勉。

其实QT能够实现多种类型的图形界面编程,比如下图:

下面我就一一介绍一下这类图形界面的设计方法:


1、主窗口类:

QMainWindow类提供了一个典型应用程序的主窗口框架。 


QTextEdit *editor = new QTextEdit(mainWindow);

mainWindow->setCentralWidget(editor);

2、菜单类 

弹出式菜单QPopupMenu类以垂直列表的方式显示菜单项,它可以是单个的(例如上下文相关菜单),可以以菜单栏的方式出现,或者是别的弹出式菜单的子菜单出现

QPopupMenu *fileMenu = new QPopupMenu(this);

fileMenu->insertItem("&New", this, SLOT(newFile()), CTRL+Key_N);

fileMenu->insertItem("&Open...", this, SLOT(open()), CTRL+Key_O);

fileMenu->insertSeparator();

fileMenu->insertItem("&Exit", qApp, SLOT(quit()), CTRL+Key_Q); 


3、工具栏类

工具栏可以被移动到中心区域的顶部、底部、左边或右边。任何工具栏都可以拖拽到工具栏区域的外边,作为独立的浮动工具托盘。


QToolButton类实现了具有一个图标,一个3D框架和一个可选标签的工具栏。切换型工具栏按钮具有可以打开或关闭某些特征的功能。其他的则会执行一个命令。可以为活动、关闭、开启等模式,打开或关闭等状态提供不同的图标。如果只提供一个图标,Qt能根据可视化线索自动地辨别状态,例如将禁用的按钮变灰,工具栏按钮也能触发弹出式菜单。

QToolButton通常在QToolBar内并排出现。一个程序可含有任意数量的工具栏并且用户可以自由地移动它们。工具栏可以包括几乎所有部件,例如QComboBox和QSpinBox。


旁述:Qt提供了两种旁述的方式,即“提示栏”和“这是什么”帮助按钮。

·“提示栏”是小的,通常是黄色的矩形,当鼠标在窗体的某些位置游动时,它就会自动地出现。它主要用于解释工具栏按钮,特别是那些缺少文字标签说明的工具栏按钮的用途。


QToolTip::add(saveButton,"Save");


·  “这是什么”帮助按钮和提示栏有些相似,只不过前者是要用户单击它才会显示旁述。在小屏幕设备上,要想单击“这是什么”帮助按钮,具体的方法是,在靠近应用的X窗口的关闭按钮“x”附近你会看到一个“?”符号的小按钮,这个按钮就是“这是什么”的帮助按钮。 

QWhatsThis::add(saveButton, "Save the current file.");


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

 

QAction *saveAct = new QAction("Save", saveIcon, "&Save",CTRL+Key_S, this);

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

saveAct->setWhatsThis("Saves the current file.");

saveAct->addTo(fileMenu);

saveAct->addTo(toolbar);

就写这么多了,算是给2014开个头吧,祝大家在新的一年里学习进步,学业有成。