
Qt
文章平均质量分 89
屌程
无奈的90后
展开
-
Qt 图形视图框架(Qt MVC)
什么是MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构...原创 2019-09-13 22:31:39 · 2085 阅读 · 0 评论 -
Qt Charts 之 QChartView Class
详细描述QChartView是一个独立的图标小部件。QChartView是一个独立的可以显示图表的部件。它不需要分离的QGraphicsScene就可以工作。如果你想要在已经存在的QGraphicsScene中显示一个图表,你需要使用QChart(或者QPolarChart)类(来替代QChartView)。成员函数(API)QChartView::QChartVi原创 2017-11-14 11:28:45 · 7246 阅读 · 0 评论 -
Qt Charts 之 QBarCategoryAxis Class
详细描述QBarCategoryAxis 类将类别添加到图表的坐标轴上。可以设置QBarCategoryAxis 以显示带有刻度线,网格线和阴影的坐标轴线。类别被画在刻度中间。它也可以使用线系列(更明确地说应该是同时使用柱状图和折线图),如Line and BarChart Example.(Qt 示例)所示。下面的代码演示了如何使用QBarCategoryAxis原创 2017-11-14 10:28:59 · 5845 阅读 · 0 评论 -
Qt Charts 之 QChart Class
详细描述提供Qt Charts主要图表的API。QChart是一个QGraphicsWidget,你可以在QGraphicsScene中显示它。它管理了不同类型系列的图形表示法(如柱状图、饼图、曲线图、折线图、烛台图、盒须图等等)以及其他图表相关对象,诸如图例和坐标轴。如果你只是想简单的在一个布局中显示 一个图表,你可以使用便捷的QChartView来代替QChart。原创 2017-11-12 20:53:31 · 1362 阅读 · 0 评论 -
Qt 布局之 QBoxLayout Class
详细描述QBoxLayout类水平或垂直地排列子部件。原创 2017-10-21 23:07:31 · 3760 阅读 · 0 评论 -
Qt Charts 之 QBarSeries Class
详细描述QBarSeries类提供一系列按类别分组的垂直条形图(柱状图)。这个类将数据绘制为按类别分组的垂直条形图,每个分组的每一个条形都添加到这个系列(QBarSeries)中。bar chart example 演示了怎么创建一个分组条形图:相关代码: QBarSet *set0 = new QBarSet("Jane");原创 2017-11-08 18:35:17 · 4361 阅读 · 0 评论 -
Qt Charts 之 QBarSet Class
详细描述QBarSet类表示条形图中的一组条。如图所示的条形图也称柱状图,总共有五组的条,也就是有五组的QBarSet,每个QBarSet代表一组条,每组条都有6个数据(一月到六月)。在条形图中,每组不同的条(QBarSet)是以不同的颜色来区分的。每个条的集合包含每个分类的一个数据值,例如上图中的每个人(条)的集合包含了每个月(分类)中的一个值。假设每个条(Q原创 2017-11-08 17:31:48 · 6125 阅读 · 0 评论 -
Qt Charts 模块的 C++ 类及描述
详细描述图标API是建立在Qt 的图形视图框架之上。图表可以使用QChart显示为QGraphicsWidget。然而,还有一个便利的类QChartView,它是基于QWidget的。这使得我们能够快速使用Qt Charts(图表),就像使用一个普通的Qt小部件一样。每个图表类型由QAbstractSeries派生类表示。要创建一个图表,用户必须使用一个相关系列类的实例并将它添加到原创 2017-11-08 16:10:27 · 3073 阅读 · 0 评论 -
Qt 之 Qt Charts 模块
Qt Charts模块简介Qt Charts模块提供一组易于使用的图表组件。它使用了Qt的图形视图框架,因此图表可以很容易集成到现代用户界面。Qt 图表可以用作QWidgets,QGraphicsWidget 或者 QML 类型。用户可以通过选择一个图表主题(如柱状图,饼图,折线图等)轻松地创建令人印象深刻的图表。Qt Charts 模块是在Qt5.7才集成进去的,早些时候的版本不支持这个模块原创 2017-11-08 10:37:31 · 4764 阅读 · 0 评论 -
Qt 布局之QVBoxLayout Class
详细描述QVBoxLayout类垂直地摆放小部件。该类用于创建垂直框布局对象。有关详细信息,请参阅QBoxLayout(后续文章将会详细介绍QBoxLayout)。该类最简单的用法想下面这样: QWidget *window = new QWidget; QPushButton *button1 = new QPushButton("One"); QPus原创 2017-10-21 22:24:52 · 12234 阅读 · 0 评论 -
Qt 布局之 QHBoxLayout Class
详细描述原创 2017-10-21 15:44:27 · 1459 阅读 · 0 评论 -
手把手教你用Qt制作和使用自己制作的静态库
使用Qt制作静态库 首先展示一下正常创建的一个Qt Widgets工程图:第一步就是修改Qt的工程文件(.pro)文件,这个文件主要作用是用于生成makefile文件。将TEMPLATE = app修改为TEMPLATE = lib告诉编译器我们不是要构建一个应用程序,而是要构建一个制作库文件的工程;还有就是添加CONFIG += staticlib 告诉编译器我们原创 2017-11-07 16:32:59 · 3265 阅读 · 1 评论 -
Linux中samba服务器的搭建
使用的vmware12虚拟机安装的centos6.8和物理机上的windows10,实现在windows10 上访问CentOs上的samba服务。一、先查看系统中是否安装有samba服务相关的软件包。 查看到我的linux中没有安装samba相关的软件包,接下来进行安装几个相关的软件包:samba-3.6.9-151.el6.x86_64转载 2017-11-28 14:54:29 · 553 阅读 · 0 评论 -
深入浅出理解QTimeLine类
网上找了下QTimeLIne类的介绍,要么就是代码一贴自己看去,要么就是说不到重点,正巧自己项目遇到这个类,在这里写一下,给需要的同学看下。 因为我最近需要有动画方面配合时间间隔触发QGraphicsView框架的需求,意外找到了一个Qt中很实用的时间类QTImeLine,现在让我们一起来学习一下它。 QTimeLine拥有一个时间轴来控制时间动画和事件,其中在构造转载 2017-11-15 18:29:41 · 489 阅读 · 0 评论 -
Qt 之 QTimeLine Class
详细描述QTimeLine 类为控制动画提供了一个时间轴。最常使用的是定期地调用一个槽函数以使GUI控件动画化。你可以通过传递一个毫秒级的时间间隔参数给QTimeLine的构造器来构造一个时间轴(QTimeLine)对象。时间轴的间隔参数描述了动画会运行多久。然后通过调用setFrameRange()来设置一个合适的帧范围。最后连接frameChanged()信号到该部件合适的槽函原创 2017-11-16 15:20:00 · 1953 阅读 · 0 评论 -
Qt 之 QSplitter Class
详细描述QSplitter 类实现了一个分离器部件。先看一下控件使用分离器(QSplitter)后的演示效果:左边是一个QTreeWidget,右边是一个QWidget上边放置一个QLabel。没有使用QSplitter之前两个控件的大小是不可以通过拖拽它们之间的边界来调整的。一个分离器允许用户通过拖拽控件之间的边界来控制它里面子控件的大小。任何数量的控件都可以由一个分离器控制。典型的使用QSpl...原创 2018-03-02 12:39:48 · 2144 阅读 · 0 评论 -
QT5 error: cannot find -lGL
遇到的问题今天在Debian上安装Qt5.7.1时遇到运行Qt自带测试程序提示error: cannot find -lGL。错误信息提示找不到OpenGL相关的库,楼主之前在Ubuntu上装过没有遇到类似的问题。最后总结了下原因主要是因为Qt5.0默认会将OpenGL加入工程,但是有的机器上没有安装OpenGL。解决方案就是在当前机器上安装OpenGL。安装步骤1、安装基本的编译环境$ sudo...原创 2018-03-07 18:15:58 · 1064 阅读 · 0 评论 -
QHeaderView sectionResized()信号和geometriesChanged()信号的异同
简述背景最近博主在写一个项目的时候需要在QHeaderView的size改变的时候自己获取QTableView表头各个section的width()来实现,自己自定义的控件。实现思路是在表头的size发生改变的时候获取一下表头各个section的width。一开始楼主使用的是void sectionResized(int logicalIndex, int oldSize, int newSi原创 2018-01-03 16:59:11 · 1491 阅读 · 0 评论 -
QTreeWidget简单使用之一
详细描述QTreeWidget类提供了使用预定义树模型的树视图。QTreeWidget类是一个方便的类,它提供了一个标准树小部件,它具有一个经典的基于项目的接口,类似于Qt 3中的QListView类所使用的接口。这个类基于Qt的模型/视图架构,并使用默认模型来保存项目,每个项目都是一个QTreeWidgetItem。不需要模型/视图框架灵活性的开发人员可以很容易地原创 2017-12-27 17:05:17 · 4184 阅读 · 1 评论 -
Qt Creator 自动补齐函数参数问题
遇到的问题使用Qt Creator集成开发环境进行项目编码时,经常需要重写父类的虚函数去实现自己想要的功能,但是当声明这些函数时,经常遇到函数名可以自动补齐,但是函数的参数却不能自动补齐的情况,可能是有些Qt Creator的版本支持只要敲函数名的前几个字符就会把函数名连同参数一并给补全,但是博主使用的IDE版本中大都都只是补全函数名,函数参数不会自动补全。如何解决一开始博主以原创 2017-12-06 20:52:06 · 7892 阅读 · 10 评论 -
Qt 之 QSqlRelationalTableModel Class
详细描述QSqlRelationalTableModel 为单一库表提供一个支持外键的可编辑的数据模型。QSqlRelationalTableModel 行为就像 QSqlTableModel,但是允许将列作为外键设置给(到)其他库表。上面左边屏幕截图显示了QTableView中一个简单的QSqlTableModel 。外键(city和country)没有被解析原创 2017-09-07 18:30:27 · 2213 阅读 · 0 评论 -
巧用Qt 设计师(Designer)提高工作效率之切换设计师控件显示模式
编写目的对于Qt开发人员,使用Qt Designer(Qt 设计师)设计界面无疑是提高界面设计效率的重要途径之一,它可以在你对Qt Gui类以及布局等相关设计原理及API使用不是很熟的情况下依然可以高效率地设计出好看实用的界面,以为你设计的界面就是你运行时将看到的界面(所见即所得)。Qt 设计师Gui控件默认展示的形式是以“列表视图”的模式供开发者查看和使用的,但是这种控件的展示形式无疑对于一原创 2017-11-21 10:00:57 · 2863 阅读 · 0 评论 -
QTableView根据内容自动调整大小(resizeColumnToContents解决不了的)
前言最近使用QTableView比较频繁,出现了一些比较奇葩的问题,其中之一就是QTableView在显示来自模型的数据时,经常会显示...省略了内容的后半部分。如下图:查看帮助文档可以找到resizexxxxToContents()系列接口:根据内容自动调整某列的列宽void QTableView::resizeColumnToContents ( int c原创 2017-11-23 19:12:30 · 33475 阅读 · 16 评论 -
Qt 数据库模型(QSqlQueryModel,QSqlTableModel)获取模型中的所有数据
数据模型默认不是显示所有数据最近使用QTableView结合QSqlQueryModel以及QSqlTableModel在写很多报表,中间产生了一系列出乎意料的现象。其中之一就是QSqlQueryModel,QSqlTableModel这两个数据库模型默认加载数据的时候不是加载所有的数据,而是只加载256条数据(前提是数据源有大于256的数据,如果没有的则有多少条就加载多少条数据)。下图就原创 2017-11-23 17:45:37 · 13730 阅读 · 2 评论 -
Qt Linux 连MySQL出现libqsqlmysql.so路径问题
在Linux下使用Qt连接MySQL的时候运行如下代码:QSqlDatabase::addDatabase("QMYSQL");经常遇到以下错误:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QPSQL QPSQL7主要是因为MySQL驱动的问题,在Q原创 2017-12-19 17:57:23 · 2208 阅读 · 0 评论 -
Linux系统下 解决Qt5无法连接MySQL数据库的方法
Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get install qt-sdk命令装的低版本的Qt5(如5.2.x)缺少MySQL驱动问题,如果你的Qt5版本为5.7.X,那么就不能用这种方法解决,请参考下面的方法。 传统解决方法:一、解决问题转载 2017-12-01 18:48:56 · 2266 阅读 · 0 评论 -
Qt 实现多级菜单
前言在众多知名的软件UI中下拉菜单、按钮菜单、右键菜单、托盘菜单、多级菜单等等是很常见的,就连Windows和linux等系统级的软件也用到这些UI元素。下图就是我们最常见的Windows系统多级菜单:Qt实现(多级)菜单在Qt中通过QMenu和QAction就可以实现这些菜单,QMenu就是上图中我们看到的三个级联菜单,每个QMenu里面的小项目就是一个QActi原创 2017-11-22 15:00:12 · 18573 阅读 · 6 评论 -
Qt 之 QButtonGroup Class
详细描述QButtonGroup类提供一个容器来组织按钮小部件组。QButtonGroup 提供一个抽象的容器,可以将按钮小部件放在其中。它没有提供这个容器的可视化表示,而是管理组中每个按钮的状态。一个排外的按钮组关掉了所有可勾选的(切换)按钮,除了被单击的按钮。默认情况下,按钮组是排外的。按钮组中的按钮通常是可勾选的QPushButton,QCheckBox(通常原创 2017-09-30 16:13:50 · 1624 阅读 · 0 评论 -
Qt 之 QCheckBox Class
详细描述QCheckBox小部件提供一个带有文本标签的小部件。QCheckBox是一个选项按钮,可以打开(选中)或关闭(未选中)。复选框通常用于表示可以启用或者禁用而又不会影响其他功能的应用程序特性(功能)。可以实现不同的行为。比如,QButtonGroup可以用于在逻辑上对复选框进行分组,允许排外的复选框。然而,QButtonGroup没有提供任何可视化的表示。以原创 2017-09-26 11:40:13 · 2634 阅读 · 0 评论 -
Qt 之 QSqlResult Class
详细描述QSqlResult 类提供了从特定数据库访问数据的抽象接口。通常地,我们使用QSqlQuery而不是QSqlResult,因为QSqlQuery为特定于数据库的QSqlResult实现提供了一个通用的包装器。如果你实现你自己的SQL驱动(通过子类化QSqlDriver),你将需要提供你自己的实现了所有纯虚函数和其它你需要的虚函数的QSqlResult子类。相关原创 2017-09-04 17:55:43 · 3820 阅读 · 0 评论 -
Qt 之 Relational Table Model Example 解析
总体概述Relational Table Model Example 例子用到的技术点主要是数据库连接的建立,数据库相关参数的设置,如何执行结构化查询语言(SQL),数据库外键的使用,模型视图框架的使用等等。代码解析int main(int argc, char *argv[]){ QApplication app(argc, argv); if (!cr原创 2017-09-12 18:09:30 · 899 阅读 · 0 评论 -
Qt 之 QSqlDriver Class
详细描述QSqlDriver类是用于访问特定数据库的抽象基类。和QSqlQuery类一样,QSqlDriver类也不应该直接使用。使用QSQLDatabase类代替(LZ猜测Qt这是不是用了组合模式)。如果你要创建自己的SQL驱动,你可以子类化QSqlDriver类并重新实现它的纯虚函数和那些你需要的虚函数。可以去Qt Assistant中搜索How to Write Your O原创 2017-08-23 15:59:11 · 3111 阅读 · 0 评论 -
Qt 之 QSqlIndex Class
数据库索引概念索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。索引的一个主要目的就是加快检索表中数据的方法,亦即能协助信息搜索者尽快的找到符合限制条件的记录ID的辅助数据结构。索引是对数据库表中一个或多个列(例如,employee原创 2017-08-26 17:20:14 · 1092 阅读 · 0 评论 -
Qt SQL C++ Classes
Qt SQL模块为SQL数据库提供了一个驱动层,API层和用户接口层的C++类和接口。 Namespaces(命名空间):QSql(不是 QtSqL 哦) : 改命名空间中包含在Qt SQL模块中使用的其他标识符。 Qt SQL模块提供的数据库操作类:QSqlDatabase : 代表一个到数据库的连接 QSqlDriver : 用于访问特定SQL数原创 2017-08-10 18:11:16 · 682 阅读 · 0 评论 -
Qt 之 QSqlQueryModel Class
详细描述 QSqlQueryModel 类为SQL结果集提供了一个只读的数据模型。QSqlQueryModel 提供用于执行SQL语句和遍历结果集的高级接口。它是建立在低层的 QSqlQuery之上并且可以用以提供数据给例如 QTableView之类的视图类。例如: QSqlQueryModel *model = new QSqlQueryModel; model原创 2017-09-03 21:21:24 · 3255 阅读 · 3 评论 -
Qt 之 QSqlQuery Class
详细描述QSqlQuery 类提供了一种执行和操作SQL语句的方法。QSqlQuery 封装了从在一个 QSqlDatabase(数据库连接)上的SQL 查询(queries) 创建,导航,检索(取回) 数据的功能。它可以用来执行DML(data manipulation language)即数据操作语句,比如 select,insert,update,delete 即数据库最常用的增原创 2017-08-20 14:04:23 · 2612 阅读 · 0 评论 -
Qt 之 QSqlDatabase Class
详细描述QSqlDatabase 类代表一个数据库连接(LZ 觉得这个类叫做 QSqlDatabaseConnection 意思更明确)。QSqlDatabase 类提供一个通过连接去访问数据库的接口。一个 QSqlDatabase 实例代表一个连接。该连接提供了通过Qt 支持的数据库驱动 去访问数据库的接口,这些驱动派生自 QSqlDriver 类。或者,你可以从 QSqlDriver原创 2017-08-17 18:25:30 · 1302 阅读 · 0 评论 -
Qt SQL
Qt SQL 是一个提供SQL数据库支持的重要模块。Qt SQL的API被分为不同的层次:*驱动层次*SQL API 层次*用户接口层次 SQL Programming 手册中包含了使用Qt SQL开发的信息。入门指南在一个工程中使用Qt SQL,需要在C++文件中添加预处理指令:·#include ;该指令包含了Qt SQL中左右的内容。一般LZ原创 2017-08-10 16:59:38 · 584 阅读 · 0 评论 -
Qt隐藏的功能和技巧
Q_GADGET:不需要从QObject继承就可以使用Qt的Meta Object功能Q_ENUMS:对枚举对象进行反射(reflection)Q_SIGNAL:不需要signals关键字就可以将一个函数指定为singal函数Q_SLOT:不需要slots关键字就可以将一个函数指定为slot函数 Q_SIGNALS 与 Q_SLOTS是Qt 4.1引入的,它们用来替换关键字signals和s原创 2017-06-27 14:47:30 · 1577 阅读 · 0 评论 -
基于Qt实现的163音乐登录界面
闲来无事,前同事做登录界面遇到问题再三 “骚扰”在下。缘由,自己也依样画葫芦写了个基于QWidget+qss的登录界面。闲话就不多扯了,先上图,主要为了方便理解代码更直观,有参考。如图所示,我把界面分割成三部分去实现,这三个部分都是放在独立的QWidget中然后用一个QVBoxLayout来布局整个界面。首先看 下登录界面最顶层QWidget的实现代码: //登录界面最顶原创 2017-03-15 14:02:36 · 1252 阅读 · 0 评论