其实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);