摘要:
这个范例是用Windows API实现的,因为根据我的测试,用纯Qt实现会有一些缺点。无边框窗口是普通窗口通过响应WM_NCCALCSIZE消息将边框去掉的窗口,并不是简单地Qt中把窗口设置一个FramelessWindowHint属性然后添加窗口内容。这二者的效果和对系统操作(比如把窗口拖到屏幕最 阅读全文
摘要:
该控件是模仿了一个名叫QCoolPage的开源项目里的轮播图控件,但是实现方式跟它的完全不同。QCoolPage里是用QPushButton和QLabel加上自定义styleSheet实现的;而我是用自定义控件加QPainter自己绘制的。如果想看它的具体实现方法可以网上搜索QCoolPage。我这 阅读全文
摘要:
这是一个垂直的时间轴,显示效果非常简单,但不能显示有格式的文本。如果想显示有格式文本可以把右侧显示本文的位置换成QLabel控件去显示有格式文本。如果想改变文本行间距,根据我目前在网上搜索的答案,只能用QLabel配合qss样式表(即控件的styleSheet属性)实现。根据此控件可以学习Qt多行文 阅读全文
摘要:
此控件也能作为日历控件使用。实现了Windows系统日历控件的鼠标悬停有白色渐变的效果(见于下图18日周围的白色渐变效果)。从中可以学习到Qt日期类的常用方法,和渐变画刷的使用。作者的审美不行,不能很好地美化界面,所以界面不太好看。控件里的QSpinBox也没有用样式表修改外观使其与整体风格保持一致 阅读全文
摘要:
软键盘,在Windows系统上叫屏幕键盘。前一句只是为了让更多的人通过搜索引擎搜到我的文章。对于实现软键盘,我在网上查找了2、3天。发现用Qt实现并不好缺点很多,所以最终选择用Windows API实现。对此我想说以下几点: 最好不要用Qt的QApplication::sendEvent或QAppl 阅读全文
摘要:
这个控件非常简单,就是一个圆弧在不停地转圈圈。模仿的是WPS中等待界面的效果。通过这个控件学习Qt动画的基本操作。这个控件在VS2015和Qt5.9上测试通过。下面是效果图: 上代码,头文件: class MWait : public QWidget { Q_OBJECT public: MWait 阅读全文
摘要:
这个控件比较简单,模仿现代应用程序常见的开关按钮绘制。通过这个案例你可以了解Qt动画的使用。在VS2015和Qt5.9上简单测试通过。下面是效果图: 下面给出代码,头文件: class MSwitch : public QWidget { Q_OBJECT public: MSwitch(QWidg 阅读全文
摘要:
此功能在某些应用里可能会使用到。主要是在QGraphicsView的左上角显示一个小的缩略图,并绘制一个矩形指示当前界面处在整个视图的哪个位置。类似于游戏中常见的小地图。我实现该功能是用MGraphicsView类继承QGraphicsView,并在其resizeEvent内初始化缩略图。这就要求要 阅读全文
摘要:
该控件模仿的是比较常见的应用程序中的搜索框。实现了输入文本后按回车搜索(也可以点击搜索按钮开始搜索),和记住最近的几个搜索记录的功能。使用者通过响应inputCompleted信号获取输入文本进行操作。使用该控件是相当的简单。只要把下面的代码复制到你的项目中,在设计师软件里加一个QWidget,然后 阅读全文
摘要:
模仿WIndows系统的IP地址编辑框创建的控件。在VS2015和Qt5.9上测试通过。效果图如下: 上代码,头文件: class QLineEdit; class MIpAddressEditor : public QWidget { Q_OBJECT public: MIpAddressEdit 阅读全文