QT 初阶 1.3 节 控件的几何排列】的更多相关文章

#include "mainwindow.h" #include <QApplication> #include <QHBoxLayout> #include <QSlider> #include <QSpinBox> int main(int argc, char *argv[]) { QApplication a(argc, argv);//入口 QWidget *window = new QWidget;//创建一个窗体 windo…
AnyCAD C++ SDK专为Qt框架增加了AnyPlatformQt.lib模块,在Qt中使用AnyCAD三维建模控件变得十分简单. 下载 Qt高速下载:http://pan.baidu.com/s/1bng1kwJ AnyCAD C++ SDK高速下载:http://pan.baidu.com/s/1qWFS1tE QtCreator配置 假如AnyCAD C++ SDK目录为 ${AnySDK} 设置include路径: INCLUDEPATH +=  ${AnySDK}/inc 设置l…
一.前言 在Qt自定义控件中,仪表盘控件是数量最多的,写仪表盘都写到快要吐血,可能是因为各种工业控制领域用的比较多吧,而且仪表盘又是比较生动直观的,这次看到百度的echart中有这个控件,所以也来模仿做了一个,其实掌握了一两个仪表盘的绘制方法以后,其他仪表盘的绘制都是如鱼得水,基本上变化很小.总结起来就如下几点: 1:仪表盘边框 2:刻度尺 3:刻度值 4:圆环进度 5:指针 6:当前值 7:仪表盘标题 无论什么仪表盘,基本上包含的上面几个要素的大部分,所以只要掌握几个要素的绘制,任何仪表盘绘制…
FastReport是一款优秀的报表控件,由俄罗斯开发,国内有代理商.Qt环境下可实现报表功能的还有一款叫NCReport,也是收费控件,比较来比较去还是觉得前者功能强点.网上讲解此控件在Qt中使用的文章比较少,故在此做下记录: 概述: 1. FastReport版本有VCL, .NET, COM/ActiveX, Mono等等,其中Qt下使用只能使用COM/ActiveX版本.2. 网上破解版有3.2,4.5和最新的4.9(2014年),3.2这个版本貌似功能不全,Qt下老报错:4.9版本可以…
最终效果图: 该对话框由三个文件组成:finddialog.h .finddialog.cpp. main.cpp 代码+注释 /*--finddialog.h--*/ #ifndef FINDDIALOG_H #define FINDDIALOG_H #include <QDialog> /*Qt中类的前向声明,会让编译速度更快*/ class QCheckBox; class QLabel; class QLineEdit; class QPushButton; class FindDia…
一.新建一个窗体 用qt designer 新建一个QWidget窗体, 在窗体中右键 选择布局, 发现布局是选择不了的,这个是因为窗体里面没有添加控件, 任意添加空间后便可选择 右键-- 布局-- 水平布局/垂直布局 等 二. 添加控件 我们添加一个group box 控件, 然后 右键 选择 布局 -- 垂直布局 在添加一个horizontalLayout, 再给horizontalLayout里面添加两个button按钮 向group box 里面添加一个label 和 botton 然后…
接着上一节介绍控件拖放的设计. 通过前面的介绍知道,我们的区域类型的容器控件有三种:Card.Table.Mixed. Card 可以支持几乎所有的常用控件,包括:文本TextField.多文本TextArea.数字NumberField.金额NumberField.日期DateField.下拉树NetDropDown.按钮Button.复选框CheckBox.单选框Radio:Table可以支持的常用控件比Card稍微少一点,它不支持button类型的控件以及多文本TextArea控件:Mix…
Qt中的信号槽系统是不同类中间传递数据的神器,如果连接父子空间之间的信号槽很重要,在父类中实例化子类的时候一定要注意将父类连上,不然信号槽无法使用,比如若子类是个对话框Dialog类,一定不要忘了加this QtClass *qc = new QtClass(this); qc->exec(); 然后如果需要连接到父控件的槽函数,只需在子类的构造函数中加一句: connect(this, SIGNAL(signal()), parentWidget(), SLOT(slot()));…
前言 导航按钮控件,主要用于各种漂亮精美的导航条,我们经常在web中看到导航条都非常精美,都是html+css+js实现的,还自带动画过度效果,Qt提供的qss其实也是无敌的,支持基本上所有的CSS2属性,配合QPainter这个无敌大法工具,没有什么不能绘制的.这个控件总结了大部分的导航条样式,比如左侧+右侧+顶部+底部,线条指示器,倒三角指示器等.还可以在导航条前面加上图标等,就显得更加有特色.有了此控件,再也不用担心没有精美的导航了. 实现的功能 1:可设置文字的左侧+右侧+顶部+底部间隔…
从 Qt 设计师界面可以看到常用的 Qt 文本编辑和浏览控件,包括四个: 其中单行编辑控件 QLineEdit 和 普通文本编辑控件 QPlainTextEdit 都是针对最普通的 C++ 字符串编辑和显示,默认都是白底黑字,没有彩色字体.QLineEdit 按照名字,就是只接受单行普通文本输入 QPlainTextEdit 可以接收多行普通文本输入. 丰富文本编辑控件 QTextEdit 是升级版的编辑控件,支持 HTML 网页的丰富文本编辑,当然也可以利用它编辑普通文本. 丰富文本浏览控件…
     表情选择控件在聊天应用中常常要用到,做起来尽管不复杂可是非常繁琐.特别是有些图标须要按顺序排列.每次重做必定是非常费时.所以我将聊天表情选择控件封装成一个独立的类QFaceSelectWidget.方便直接应用到自己的项目中. 先来看看效果图: 測试程序是一个对话框,里面放有一个QPushButton和一个QLabel,水平布局.点击button弹出"表情选择框",选择表情后"表情选择框"关闭,QLabel中显示刚才选择的表情."表情选择框&qu…
一.前言 很多时候需要有一个控件,能够替代容器控件,自动容纳多个widget,自适应宽高,然后提供滚动条功能,这就必然需要用到QScrollArea控件,可设置各个子面板的间距等,也在很多系统中用到,比如温湿度设备面板,有几百个温湿度设备,需要一个容器放置,自动产生滚动条,可以设置面板的固定宽高或者自适应拉伸,其实就是放了表格布局+弹簧来设置. 在后期的Qt内置控件的研究过程中,发现QListWidget也提供了类似的功能,所以后期有部分应用场景直接采用QListWidget来做. 二.实现的功…
一.前言 在很多web网页上,经常可以看到一个设备对应一个面板,或者某种同等类型的信息全部放在一个面板上,该面板还可以拖来拖去的,这个控件首次用在智能访客管理平台中,比如身份证信息一个面板,访客信息一个面板,被访人信息一个面板,这样相当于分类展示了,还提供了对应的标题栏有文字显示,这个控件的使用场景也是非常多,还有个子标题可以设置,拓展了报警闪烁的接口. 二.实现的功能 1:支持所有widget子类对象,自动产生滚动条 2:支持自动拉伸自动填充 3:提供接口获取容器内的所有对象的指针 4:可设置…
一.前言 这个控件写了很久了,是最早期的一批控件中的一个,和温度计控件类似,都是垂直的进度条,可以设置不同的背景颜色,左侧的刻度也可以自由设定,还提供了动画效果,其实就是开启定时器慢慢的进度到设定的目标值,如果设定的值比当前值大,则递增,反之递减.由于当时的qpainter绘制功底还不够如火纯情,所以当时的刻度尺部分都是定死的字体大小,并不会随着控件变化而增大. 二.实现的功能 1:可设置精确度(小数点后几位)和间距 2:可设置背景色/柱状颜色/线条颜色 3:可设置长线条步长及短线条步长 4:可…
一.前言 在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基本上都支持gif动图,一般一个5秒左右的gif,800*600分辨率,可以很好的控制在500KB内,这样就比较完美的支持各大网站上传动图. 最开始使用的是ScreenGif.exe,用了很久,感觉还可以,后面一个朋友推荐用LICEcap.exe,体积更小,压缩比更高,再到后来发现有个gif.h开源的…
一.前言 平铺背景控件,主要的应用场景是作为画布出现,黑白相间的背景图,然后上面可以放置图片图形等,使得看起来更美观,比如PS软件新建图层以后的背景,FireWorks软件新建画布以后的透明背景,ICO制作软件新建画布以后的背景,都会采用一个黑白相间的背景.尽管本人用QPainter很多年,后面在翻阅QPainter自带的函数中才发现居然QPainter自带了这个绘制平铺背景的函数,擦,他么叫drawTiledPixmap,Qt不愧是跨平台GUI开发中的佼佼者,这些东西居然都考虑到了,说到考虑的…
上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<"\"xyz\""; 在内容前后用\“把内容括起来,在把报表设计器中Code页的语言设置为非PascalScript就好了.…
QVBoxLayout *lay = new QVBoxLayout(this); // 创建一个竖直的盒子 lebel 篇 lay->addWidget(label = new QLabel("<a href=www.baidu.com>baidu</a>")); //设置成百度的链接 label->setPixmap(QPixmap("1.png")); //显示位图 connect(label,&QLabel::li…
1.用继承pushbutton派生类来实现tab按钮,里面加一个QPushbutton关闭按钮:(自定义类:CCustomTabButton) 2.多个tab按钮用QHboxLayout做容器: 3.用QStackLayout做page容易,保存tab页的widget: 4.从QWidget继承类CCustomTabWidget组合tabbar和page 5.用qss渲染tarbar的效果: #ifndef CCUSTOMTABWIDGET_H #define CCUSTOMTABWIDGET_…
目录 一.概述 二.效果展示 三.实现方式 四.多级表头 1.数据源 2.表格 3.QStyledItemDelegate绘制代理 五.测试代码 六.相关文章 原文链接:Qt实现表格树控件-支持多级表头 一.概述 之前写过一篇关于表格控件多级表头的文章,喜欢的话可以参考Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等.今天这篇文章带来了比表格更加复杂的控件-树控件多级表头实现. 在Qt中,表格控件包含有水平和垂直表头,但是常规使用模式下都是只能实现一级表头,而树控件虽然包含有…
原地址:http://blog.csdn.net/yuxikuo_1/article/details/17397109 Qt Creater提供6种Button控件.如图1. Button控件介绍 控件类 控件名 中文名 QPushButton PushButton 推动按钮 QToolButton ToolButton 工具按钮 QRadioButton RadioButton 单选按钮 QCheckBox CheckBox 复选键 QCommandLinkButton CommandLink…
Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌入到Qt程序中去. l         QAxServer可以将我们写的Qt控件导出为COM对象或者是ActiveX控件. 第一个例子我们来演示一下在Qt中…
本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于个人水平有限,学习Qt时间不长,所以代码中出现BUG,不够优雅以及有待改进部分,还请见谅和提出意见. 本项目所有代码在Qt5.10以上均测试通过,理论上Qt 5版本应该都支持. 本系列所有程序,已经放在了github的项目上,项目地址:https://github.com/LOMOoO/Custom…
转载:GDUTLYP Qt提供QListWidget类列表框控件用来加载并显示多个列表项.QListWidgetItem类就是列表项类. 一般列表框控件中的列表项有两种加载方式: 一种是由用户手动添加的列表项,比如音乐播放器中加载音乐文件的文件列表,每一个音乐文件都是一个列表项.对于这种列表项,用户可以进行增加.删除.单击  以及双击等操作. 一种是由程序员事先编写好,写在程序中供用户选择的列表项,比如餐厅的电子菜单,每一道菜对应一个列表项.对于这种列表项,用户可以进行单机和双击操作(增加和删除…
(转自:http://blog.csdn.net/tingsking18/article/details/5403038) 在Qt中使用ActiveX控件 Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌…
最近有点时间,就研究研究Qt ,提升一下自己 我记得我在刚开始学习Qt 的时候,想要在一个控件上面绘制图形,那就要构建一个新类来调用该控件的绘图函数 今天看到了狗哥的学习博客,感觉自己好渺小啊,按照狗哥的步骤,一步一步来练习,写了一个demo Qt 之所以不能在在任意控件上面绘图,是因为Qt的事件过滤器把控件的绘图事件给过滤了,自己知识不够,盗用狗哥的话 “在事件过滤器eventFilter() 中拦截 Label 的 QEvent::Paint 事件” 代买如下 bool Widget::ev…
Qt列表等控件实现平滑滚动 Qt自带的的列表控件是不能平滑滚动的,但如果滚动速度快的话很容易引起视线丢失,体验效果很差.本篇主要讲述如何在Qt中对列表控件加入平滑滚动.文中以QScrollArea控件为例,其他控件方法一样. 原理 Qt的列表控件中,有以下两个接口: void QAbstractScrollArea::setHorizontalScrollBar(QScrollBar *scrollBar); void QAbstractScrollArea::setVerticalScroll…
目录 一.开心一刻 二.概述 三.效果展示 四.任务需求 五.指定列排序 六.排序 七.列对其方式 八.相关文章 原文链接:QRowTable表格控件(二)-红涨绿跌 一.开心一刻 一天,五娃和六娃去跟蛇精决斗,决斗前有这样一段对话. 五娃:"妖精!今天我俩就要消灭你!今天就是你的死期!" 蛇精:"呵呵呵,真是可笑.你们自己个儿都是从树上长出来的,凭什么叫我妖精?!" 五娃:"你也说了,我们是从树上长出来的,是葫芦变的,自然不是妖精." 蛇精:&…
Qt Creator自带的 QTabWidget控件几个例程 在Qt Windos版本安装后,在Example目录可以找到与QTabWidget相关的工程Demo,如果按默认安装的话他们分别是:   QTabWidget在浏览器的应用,Demo目录:C:\Qt\Qt5.3.1\Examples\Qt-5.3\webkitwidgets\browser     QTabWidget比较单一的应用, Demo目录:C:\Qt\Qt5.3.1\Examples\Qt-5.3\svg\embedded\…
如果使用MFC的CHtmlView或Qt的QAxWidget加载IE控件,载入html文件后都会自动带一个垂直滚动条,我们不想要这个滚动条,改怎么办呢?搜索了一下“隐藏IE控件滚动条”,发现在 http://topic.csdn.net/t/20040310/11/2827289.html 一文中有答案... 不过看上去,好复杂啊!!!屁大点的事,竟要动用类似这样的处理方式:    public   void   GetHostInfo(ref   DOCHOSTUIINFO   HostUII…