现在位置: 首页 > Qt
2015-01-17 23:13 工业·编程 ⁄ 共 762字 评论 1 条
以前我一直以为:在父widget上摆一个子widget后,当click子widget时:只会进入到子widget的相关事件处理函数中,比如进入到mousePressEvent()中, 而不会进入到父widget的对应事件处理函数中。毕竟:click的是子widget,其遮挡住了父widget,从而父widget接收不到这个事件。然而事实真的是这个样子吗?      我做了一个测试: 在一个QWidget上建了一个QLabel。而后实现父QWidget的mousePressEvent(), 然后...
阅读全文
2015-01-16 23:03 工业·编程 ⁄ 共 2711字 暂无评论
QGraphicsView提供一个显示QGraphicsScene内容的窗口,该窗口可以滚动,可以在构造时候把场景对象作为参数,或者之后使用setScene()来设置view的场景,然后调用了show()函数后,view就可以默认的在场景的中心,显示item,例如 QGraphicsScene scene; scene.addText("Hello, world!"); QGraphicsView view(&scene); view.show(); 可以使用鼓动调来调节查看场景的位置,或者调用centerOn(),视图会把传进去的点参数...
阅读全文
QGraphicsView用来显示一个滚动视图区的QGraphicsScene内容。QGraphicsScene提供了QGraphicsItem的容器功能。通常与QGraphicsView一起使用来描述可视化图形项目。 QGraphicsScene提供了一个视图的场景,通过在这样一个场景之上加入不同的QGraphicsItem来构建视图。而QGraphicsView则提供了一个widget来显示QGraphicsScene的内容。所以要想成功构建一个视图,这三个元素缺一不可。 以下是一个QGraphicsView的例子,实现滑动的窗...
阅读全文
2015-01-14 23:21 工业·编程 ⁄ 共 4528字 暂无评论
    陆陆续续用QT开发过很多项目,也用QT写过不少私活项目,也写过N个工具,一直梦寐以求能像VC一样可以很方便的有个自定义的界面,QSS的强大让我看到了很好的希望,辗转百度谷歌无数次,一直搜索QT相关的换肤文章,绝大部分的是一些简单的按钮文本样式,要做到整体换肤程度几乎不行,QTCN论坛里的奋斗的孩子写了个模仿360安全卫士系列,让我既惊喜有遗憾,惊喜的是能够用QT实现一个这么完整的360安全卫士界面,...
阅读全文
2015-01-13 23:17 工业·编程 ⁄ 共 1008字 暂无评论
      Qt可以使用多种技术来创建用户界面。我们也可以根据需要混合使用不同的技术,在一些特定的场景下一些技术就会比其他的技术更适合,所有方法各有所长。QrCreator就是混合使用多种技术的一个示例。实际上,它使用了传统的QtWidgets,例如菜单和对话框等;QtQuick则作为欢迎界面,QtWebKit则用于呈现Qt相关的文档。下面的内容将简要介绍这几种用于创建用户界面的技术,最后给出了一个对比表便于选...
阅读全文
2015-01-10 06:17 工业·编程 ⁄ 共 538字 暂无评论
QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextcodec类提供了文本编码的转换功能。QTextCodec类中的静态函数setCodecForTr(),用来设置QObject::tr()函数所要使用的字符集,tr()函数可以使用指定的字符集来对文本编码进行转换。这里使用了QTextCodec::codecForLocale(),它返回了系统指定的字符集。当然也可以自己指定字符集,比如使用“GB18030”,则可以写成: QTextCodec::setCodecForTr(QTextCodec::codec...
阅读全文
2015-01-08 20:51 工业·编程 ⁄ 共 1255字 评论 1 条
QML作为Qt新的界面编写方式,具有强大的灵活性,事实上这就是Direct UI的概念,不过由于推出的时间比较短,同时本身定义上的问题,许多原来Qt中的部件在QML中是没有的。 对于有QML开发的需求的同学来说,每个部件都自己来写,是相当费时费力,所幸,目前已经有一定数量的QML开源组件(componet)了。在些QML组件里,不仅提供了一系列基础的部件,甚至还有非常强力的QML自定义元素,使用这些,将缩短项目的开发产期,为开发者带来...
阅读全文
2015-01-07 07:45 工业·编程 ⁄ 共 400字 暂无评论
Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。 moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_ 构成。这个新的文件...
阅读全文
2015-01-06 22:03 工业·编程 ⁄ 共 5437字 暂无评论
环境: 主机:WIN7 开发环境:Qt5 3.1.2 说明: 在tcp上传输xml消息. 协议格式如下: 2字节标识(0xc55c,网络序)+2字节预留 +4字节报文内容长度(网络序) + 4字节命令字(网络序)+报文内容 部分协议: 命令字: 请求值班信息:GET_DUTY_INFO 请求报文: <?xml version="1.0" encoding="UTF-8"?> <request > <identifier>客户端的唯一标识符</identifier> </request> 回复报文: &l...
阅读全文
2015-01-05 14:26 工业·编程 ⁄ 共 1696字 暂无评论
Qt如何调用VC++生成的动态链接库?假设当前有VC++编译器生成的动态库文件testdll.h,testdll.lib和testdll.dll。 testdll.h文件源码如下: #ifdef TESTDLL_EXPORTS #define TESTDLL_API __declspec(dllexport) #else #define TESTDLL_API __declspec(dllimport) #endif // 此类是从 testdll.dll 导出的 class TESTDLL_API Ctestdll { public: Ctestdll(void); public: int Add(int a, int b) {return a+b;} int Sub(int a, int b...
阅读全文