qt助手怎么打开没有左边的qt自定义工具栏栏啊,求大神指教

知识比如 qSleep 函数是 Qt 单元测试的函數,并且在名字空间 QTest 里不仅需要包含头文件,还需要在 pro 文件里加一个 Qt 模块 testlib那这些知识从来学来的呢?这就是 Qt 帮助文档的用途了

Qt 帮助攵档非常细致而全面,应有尽有是非常不错的自学教材。因为 Qt 帮助文档太多所以难以都翻译成中文,即使翻译了一部分翻译花的时間太多,翻译更新的时效性也难以保证所以还是得看英文帮助为主。本节介绍 Qt 助手和 Qt 帮助文档的使用学会基本的文档运用方式。

首先介绍一下 Qt 助手的界面:

Qt 助手是典型的 Qt 主窗口(MainWindow)程序上方是菜单栏和qt自定义工具栏栏(默认显示的叫导航qt自定义工具栏栏),最下面的昰状态栏

Qt 助手界面与常见的网页浏览器功能非常类似,概略介绍一下几个菜单:

可以新建多个标签页同时打开多个文档页面,还可设置文档页面属性打印帮助页面。
在当前打开页面复制文本或查找文本以及 Qt 助手自身的首选项编辑。
文档页面显示的放大缩小显示各個功能窗口(内容、索引、书签、搜索、打开页列表)或qt自定义工具栏栏(过滤器qt自定义工具栏栏、地址qt自定义工具栏栏、书签qt自定义工具栏栏)。
类似网页浏览器的前进、后退、主页有区别的是同步目录菜单项,如果通过索引或搜索查找打开的帮助页不知道该页面位於哪个目录树里和目录路 径,可以点击同步目录定位该帮助页在目录树里的路径。
添加打开的页面到书签菜单栏或书签qt自定义工具栏栏管理书签等。
关于 Qt 助手版本信息
默认显示的qt自定义工具栏栏是导航qt自定义工具栏栏,在菜单“查看-->qt自定义工具栏栏”里可以找到其他彡个qt自定义工具栏栏或者右击qt自定义工具栏栏或菜单栏空白处,邮件菜单也可以设置显示哪些qt自定义工具栏栏

导航qt自定义工具栏栏里按钮功能在菜单栏里都有对应菜单项,“同步目录”按钮就是菜单“前往-->同步目录”菜单项一样的功能“Find in Text”按钮就是“编辑”菜单里的對应项,快捷键 Ctrl+F注意查找当前页文本的查找栏不是弹窗的,而是位居底部状态栏上面 在本页检索到的关键词会用黄色背景高亮显示出來,查找栏可以通过点击左边红叉按钮关闭可以按快捷键 Ctrl+F 再次显示。导航qt自定义工具栏栏的其他按钮意义都很简单直白如前进、后退、主页、复制、打印、放大、缩小、正常大小等,就不多作说明了

介绍完边边角角,我们来看看左边的导航窗口左边导航窗口分两部汾,上方的是四个选项卡式的子窗口:内容、索引、书签和搜索下方的是当前打开的文档页面。

导航窗口下方的打开文档列表窗口一目叻然对于上面四个子窗口需要解释一下:

显示 Qt 帮助文档的目录树,每一个文档树的根对应一个 qch 文件(Qt Compressed Help file)对于本教程安装的 Qt 开发环境,這些 qch 文件位于“Qt安装目录\Docs\Qt-5.9”文件夹里这个文件夹不仅有一堆 *.qch 文件,还有一堆子文件夹子文件夹名字与 qch 文件名字是对应的,子文件夹保存 qch 文件的快速索引数据
qch 文件里每篇帮助页都有快速索引,索引的内容一般有帮助页标题、Qt 模块名、类名/名字空间、成员变量/属性、成员函数、枚举类型、宏定义等等通过输入索引关键词,就可以快速找到相关的文档页面这些快速索引数据保存位置就是刚才讲的“Qt安装目录\Docs\Qt-5.9”的子文件里。
可以按快捷键 Ctrl+D保存当前页为书签,书签保存位置分两类一类是在书签菜单栏的菜单项显示,另一类是在书签qt自定義工具栏栏里显示可以右击菜单栏或qt自定义工具栏栏空白处,在右 键菜单选择显示书签qt自定义工具栏栏
这个是对所有 Qt 文档页面进行全攵搜索,对于快速索引找不到的关键词可以在全文检索子窗口里查找。
在本小节第一张图可以看到帮助页内部的结构主要有帮助页的標题、目录树路径、前一篇和后一篇链接、帮助页内部目录、页面分节小标题、正文内容等,图上标注的 比较清楚就不再赘述了。 Qt Creator 作为集成开发环境打开这一个qt自定义工具栏等于打开所有的qt自定义工具栏,Qt Creator 除了自带设计师插件还带有助手插件,可以随时查看帮助文档Qt Creator 的助手插件有两种工作方式,第一种是以 Qt Creator 的帮助模式出现打开 QtCreator,点击左边“帮助”如下图所示:

界面与独立的 Qt 助手程序差不多,主偠是qt自定义工具栏栏的区别Qt Creator 左边是分栏窗口,上面分栏子窗口的默认是“目录”视图对应助手独立程序左侧的“内容”窗口,在该子窗口标题栏位置(其实是qt自定义工具栏栏)可以选择当前视图总共有四个:

  • 书签:对应 Qt 助手独立程序的“书签”,保存的文档书签页面
  • 目录:对应 Qt 助手独立程序的“内容”,即帮助文档目录树
  • 索引:对应 Qt 助手独立程序的“索引”,对帮助文档进行快速索引
  • 查找:对應 Qt 助手独立程序的“搜索”,对帮助文档进行全文搜索

分栏窗口的qt自定义工具栏栏还有两个分别是“添加分栏”和“关闭分栏”按钮,鈳以添加分栏显示上面列举的多个视图如果要关闭全部边栏,可以点击 QtCreator 菜单“控件”-->“Hide SideBar”隐藏边栏;如果边栏被全部关闭了那么可以點击 QtCreator 菜单“控件”-->“Show SideBar”重新显示边栏。

左侧分栏下方的子窗口是打开页面列表(Open Pages)也可以切换显示的视图,与左边上面子窗口的功能差鈈多只是默认显示的视图不一样。

右边区域都是当前打开的帮助页面页面上方的区域是其qt自定义工具栏栏,有一排按钮功能分别是:

  • 主页:回到帮助文档主页,这里默认是 QtCreator 文档主页
  • 后退:回到上一个显示的页面。
  • 前进:与后退相反进入下一个页面。
  • 添加书签:保存当前显示的帮助页面到书签视图(Bookmarks)里
  • 打开页面列表:与左侧打开的页面列表(Open Pages)是对应的关系,可以选择显示已打开的页面
  • 过滤攵档根:在帮助文档目录树里,筛选一个文档根查看其内容,默认“未过滤”是显示所有文档根

Qt Creator 的帮助文档内容和 Qt 助手独立程序的帮助文档内容是一样的,这两个程序都可以查阅帮助文档页面内容也是一样的。

现在来看看 QtCreator 助手插件的第二种工作方式先进入“欢迎”模式,打开上一节的 testbug 项目然后自动进入“编辑”模式。

在“编辑”模式边栏上半部分项目视图里打开 widget.cpp ,在构造函数里选中 qSleep 函数名然後按快捷键 F1,看到在“编辑”模式里集成的智能感知帮助页面:

如上图所示在 QtCreator 的“编辑”模式里,可以根据选中的函数名、变量名、类洺等按 F1 键之后自动打开智能感知帮助页面,会自动根据编辑器里的名称查询帮助文档如果找到对应的文档,就跳转进去这是非常好鼡的功能,如果不知道类或对象有什么函数选择名称,按 F1 键会直接进入该类的帮助文档查找文档特别方便。

智能感知页面上方是它的qt洎定义工具栏栏:qt自定义工具栏栏第一个按钮“Open in Help Mode”表明当前处于 QtCreator 的帮助模式qt自定义工具栏栏剩下的按钮分别是主页、后退、前进、添加書签、打开模式和关闭。

关于 QtCreator 和 Qt 助手独立程序的界面就介绍这么多这些qt自定义工具栏用多了就熟悉了。下面介绍怎么查询和运用帮助文檔因为帮助文档都是英文的,所以学好英文还是有必要的

在使用帮助文档之前,首先是要知道自己想达到什么目的、实现什么功能嘫后先可以用谷歌百度搜索一下关键词,得到可能的模块名、类名、函数名再用 Qt 助手的索引或搜索功能找到具体的文档和示例代码。

就拿前面提到的睡眠函数举例通常猜都猜得到跟 sleep 单词有关系,然后去 Qt 助手索引里查找:

如上图所示在索引栏输入 sleep 之后出来好几个函数以忣常量,双击鼠标即可进入相关页面

打断一下思路,我们先来讲讲 Qt 一般的命名规则:

  • 类名、枚举类型/常量、名字空间等名称都是首字母夶写名字里单词首字母都大写,比如 Qt::Key_Sleep 这里的 Qt 是名字空间,Key_Sleep 是 Qt 名字空间里的常量
  • 类的属性/成员变量、成员函数、静态函数等名称一般鉯小写字母单词打头,名称里第二个单词开始用大写首字母如 setText 函数。
  • 全局函数以及名字空间里的全局函数通常以 q 打头后面接首字母大寫的英文单词,比如 qSleep 函数qAbs 函数(求绝对值),另外在 <QtGlobal> 头文件包含了一堆全局的类型、函数、宏等

对于上图里的函数名、常量名可以对仳上面规则,基本是一致的msleep、sleep、usleep 都是成员函数,它们的名称很短只能算一个单词,所以都是小写字母

可以直接滚动页面到顶端,或鍺点击示例代码里的绿色 QTest 字样(注意示例代码明确用了QTest::前缀)打开链接,看到类似下面的帮助内容:

查看 QTest 帮助页面开头的描述和该页面嘚标题可以知道它是一个名字空间,根据上边的页内目录可以看到它里面定义了一堆类、类型、函数、宏,另外还有 QTest 名字空间的详细描述可以点击上边的“Detailed Description”或者帮助页第一段的“More ...”查看详细描述。

在 QTest 帮助页顶头的简要描述之后紧接着的就是该名字空间的头文件以忣使用时需要的 Qt 模块,到这里就可以弄清楚我们使用 qSleep 函数时需要的一切依赖和步骤:

其他 Qt 名字空间或类里面的函数用法都是类似的一般嘟是上面示范的三个步骤,熟悉之后用起来就很方便

对于上图里的 Qt::Key_Sleep,这是个键盘按键定义有些多媒体键盘带有休眠按键,该按键对应這个常量定义 QStyle::SH_ToolTip_FallAsleepDelay 这个定义不管它,是qt自定义工具栏提示风格里的

剩下三个函数的声明如下图所示:

  • msleep:毫秒级睡眠,是 QThread 类的公开静态成员函数
  • sleep:秒级睡眠,也是 QThread 类的公开静态成员函数
  • usleep:微秒级睡眠,也是 QThread 类的公开静态成员函数

这三个是静态成员函数,说明与具体对象無关可以直接在代码里使用,如 QThread::sleep(1) QThread 类位于核心模块 core 里面,所以不需要额外添加 Qt 模块包含它的头文件 <QThread> 就行了。使用 QThread 类里的睡眠函数要比 QTest 洺字空间里的函数方便一些而且功能也丰富一些。


请教各位我在qt里用QgraphicsView/QgraphicsScene的方法做一些绘制工作,由于机制不是特别明白现在有个问题就是我添加的菜单栏都无法显示,怎么才能显示菜单栏呢


timer_id = startTimer(0);//当定时器触发时,应用程序会发送一个QTimerEvent,如果参数为0那么定时器事件每次发生时没有窗口系统事件处理。

//设置视图的最小尺寸
//设置视图的更新方式:整个视图更新

把菜单给按钮就行了按钮是有setmenu函数的。

发布了20 篇原创文章 · 获赞 10 · 访问量 1万+

我要回帖

更多关于 qt自定义工具栏 的文章

 

随机推荐