自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 QT多语言(VS +QT环境)

7.使用qm文件进行翻译。翻译文件加载后需要调用ui->retranslator(),如果界面是代码实现了,需要自己去定义类似的接口,去刷新界面文字。5.发布后会生成qm文件,qm文件可以放在资源文件中,也可以随app打包。(放在资源文件中,每次翻译文件变化后都需要重新编译?2. 通过QT VS Tools -> Create New Translator File, 生成ts文件。4. 翻译好之后,进行发布,linguist软件中点击 文件->发布,也可在vs中右键 lrelease。

2024-01-24 09:01:30 579

原创 QTabWidget tabBar放在左侧,文字按水平方向显示

重载QTabBar的painteventclass TabBar: public QTabBar {public: QSize tabSizeHint(int index) const{ QSize s = QTabBar::tabSizeHint(index); s.transpose(); return s; }pro...

2020-10-21 15:07:15 11617 3

原创 QDir类关于mkdir和mkpath的区别

比如创建“c:\\test1\test2”;对于mkdir,如果test1目录不存在,则会创建失败,只有test存在才能成功创建test2对于mkpath,则会根据路径名直接创建,不管test1是否存在

2020-07-14 13:48:34 581 2

原创 Qt delgate的使用

1.自定义的delegate继承自QItemDelegate2.必须重载的一些函数: //返回一个编辑控件,用来编辑指定项的数据 (1) QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,const QModelIndex &index) const; //将Model中数据赋值到控件上 (2) vo...

2020-06-02 13:36:42 446

原创 利用Qt画一个时钟

#pragma once#include <QtWidgets/QMainWindow>#include "ui_QtClock.h"class QtClock : public QMainWindow{ Q_OBJECTpublic: QtClock(QWidget *parent = Q_NULLPTR); QRectF textRectF(double ...

2019-12-19 09:43:27 624

原创 继上篇---另一种写法

class CustomTabStyle : public QProxyStyle{public: QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const { ...

2019-11-26 14:23:48 299

原创 为QLineEdit添加验证器

代码如下QIntValidator *vi=new QIntValidator(10,900,this); //使整数范围位于10~900之间。ui->lineEdit->setValidator(vi); /*安装验证器vi后,pe1将只能输出比900更小的整数,且不能输入字母等非数字。*/QDoubleValidator *vd=new QDoubleValidator...

2019-11-22 15:03:53 660

原创 Qt加载Qss文件

把qss添加到资源文件中int main(int argc, char *argv[]){ QApplication a(argc, argv); MainWindow w; QFile file(":/new/prefix1/common.css"); if( file.open(QFile::ReadOnly)) { QSt...

2019-11-21 10:19:54 729

原创 C++对内存区的划分

C++将内存划分为5个区,分别是堆、栈、自由存储区、全局、静态存储区、常量存储区。栈的特点:栈存储的是自动变量 栈内存的分配与释放是由编译器自动完成的,不需要手工控制 栈是先进先出的存储结构 栈内存的分配至涉及一个指针的递增,而且栈内存的分配运算内置于处理器的指令集中,因此效率很高,速度很快 使用栈分配的内存容量有限,在编译器中一般只有几MB的大小 注意:也可以使用alloca函...

2019-11-16 18:05:55 169

原创 Qt右键菜单的几种实现方法

1. 修改右键菜单策略MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); addAction(new QAction("新增",this)); addAction(new QActi...

2019-11-09 13:41:06 5064 1

原创 QT定时器

Qt中定时器的使用有两种方法,使用QObject类提供的定时器 使用QTimer类。下面分别给出对应的demo1.#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : pu...

2019-11-04 15:26:42 239

转载 boost库下载、编译、示例、文档

一、boost库下载:官网下载地址:http://www.boost.org/users/download/http://sourceforge.net/projects/boost/files/boost/1.53.0/二、boost库编译:CSDN博客上的编译:http://blog.csdn.net/kanguolaikanguolaik/article/details/...

2019-10-22 16:47:44 368

原创 Qt自带默认图标

btnIcon->setIcon(style()->standardIcon(QStyle::SP_ComputerIcon));btnClose->setIcon(style()->standardIcon(QStyle::SP_TitleBarCloseButton));enum StandardPixmap { SP_TitleBarMenu...

2019-10-21 16:50:33 2342

原创 Qt event->buttons()与Qt event->button()的区别

在上一篇文章用到了这两个函数,在这里做一下分析。event->button() : 返回产生事件的按钮event->buttons: 返回产生事件的按钮状态,函数返回当前按下的所有按钮,按钮状态可以是 Qt::LeftButton,Qt::RightButton,Qt::MidButton或运算组合例如...

2019-10-20 10:24:35 1828 4

原创 Splash与登陆窗口

本实例演示如下的一些功能的实现方法如何实现Splash特点的无边框对话框 如何设计用鼠标拖动无边框的对话框 如何使用QSetteings类存储用户名,密码等信息 如何用QCryptographicHash类进行字符串加密 如何根据登陆输入状况确定启动主窗口或终止程序运行对话框界面设计和类定义创建启动登陆对话框,从QDialog继承而来,里设置类名为QDlgLogin。界面在UI设...

2019-10-20 10:19:38 460

原创 Qt多语言翻译

1. 界面上所有想翻译的中文全部用tr()包裹住。2.生成QTranslator file(.ts)文件。处理对应的文件,填写正确的翻译3.lupdate更新ts文件。lrelease把ts文件序列化成qm文件。下面就是加载qm文件。int main(int argc, char *argv[]){ QApplication a(argc, argv); ...

2019-10-18 14:04:39 213

原创 Qt多线程QThread

摸索了一下午,对Qt多线程的两种方法做个总结。貌似Qt官方更推荐第二中方法。1. 继承QThread类。通过新写一个类来继承QThread,然后重写run方法实现。class myThread : public QThread{ void run(); //只有run里面才是在新线程里};通过调用线程基类的started()启动线程,started()信号绑定了...

2019-10-16 17:26:49 555

原创 Qt系统托盘

话不多说,直接上代码loginDialog::loginDialog(QWidget *parent) : QMainWindow(parent){ ui.setupUi(this); system_tray = new QSystemTrayIcon(); //放在托盘提示信息、托盘图标 system_tray->setToolTip(QString("我就是托盘")...

2019-10-14 14:50:56 312

原创 当前不会加载断点,还没有为该文档加载任何符号

2019-10-14 09:51:08 167

转载 有动画效果的 CheckBox

https://qtdebug.com/qtbook-animated-checkbox/

2019-10-11 14:49:23 499

原创 使用jsoncpp生成json文件并保存

执行结果同上篇文章

2019-10-09 16:00:04 1699

原创 Qt使用QJson生成json文件并保存(二)

void MainWindow::createObject(QJsonObject &obj, QString version, QString path){ obj.insert("version", version); obj.insert("gds", path); QJsonArray arraySub; QJsonObject subsub; subsub.ins...

2019-10-09 15:08:19 1420 1

原创 Qt使用QJson生成json文件并保存

#include <QJsonDocument>#include <QJsonParseError>#include <QFile>#include <QJsonObject>#include <QDebug>#include <QJsonArray>#include <QByteArray>vo...

2019-10-09 13:55:17 6807 2

原创 C++11---多线程编程(一)

线程很像轻量级的进程,但是一个进程中的所有线程都共享相同的地址空间,线程间的大部分数据都可以共享。线程间的通信一般都通过共享内存来实现。优点:由于可以共享数据,多线程间的通信开销比进程小的多。 线程启动的比进程快,占用的资源更少。缺点:共享数据太过于灵活,为了维护正确的共享,代码写起来比较复杂。 无法部署在分布式系统上。为什么使用并发主要原因有两个:任务拆分和提高性能...

2019-10-08 17:16:27 132

原创 Qt 对话框----打开文件对话框和保存文件对话框

1. 打开文件对话框通过判断fileName是否为空来判断是选择了一个文件还是点了取消。函数原型及参数解释如下。QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const...

2019-09-27 10:22:32 1747

原创 QGraphics View绘图架构实例

1. 定义一个带界面的类QFormTable,继承QWidget,该类的实现如下头文件#include <QWidget>#include "ui_QFormTable.h"class QFormTable : public QWidget{ Q_OBJECTpublic: QFormTable(QWidget *parent = Q_NULLPTR); ...

2019-09-26 17:29:12 2234 3

转载 程序员实用工具

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-25 11:33:37 277

原创 Qt5 模型/视图结构

2019-09-20 11:59:46 128

原创 图形视图体系结构

1. Graphics View的特点 Graphics View框架结构的主要特点如下 Graphics View框架结构中,系统可以利用αt绘图系统的反锯齿、 OpenGL工具来改善绘图性能。 Graphics View支持事件传播体系结构,可以使图元在场景( scene)中的交互能力提高一倍,图元能够处理键盘事件和鼠标事件。其中,鼠标事件包括鼠标按下、...

2019-09-20 10:21:59 349

原创 Qt程序打包

先将Qt编译成release版本,生成可执行文件。 将生成的exe copy到一个新的文件夹,在该路径下打开cmd命令行窗口。 输入命令“程序名.exe”。 按下回车键后会将软件得所有依赖文件加载到当前目录下。 准备生成可安装软件,可百度下载innosetup。 打开软件,点击“文件”菜单下的“新建”命令,如下图。 点击下一步,输入程序名称、版本号等。 ...

2019-09-19 15:20:44 152

原创 自定义Qt Designer插件

采用创建Qt Designer插件的方式来创建QwBattery类,并将其安装到UI设计器的组件面板里。该类的功能与上篇所讲的QmyBattery类功能一样。要创建UI设计器插件类,单击Qt Create的“File”-> "New File Project"菜单,在出现的对话框里选择”其它项目“分组里的”Qt4设计师自定义控件“,会出现一个向导对话框,按向导逐步完成项目创建。...

2019-09-12 16:53:34 1330

原创 Qt 自定义Widget组件

在某些时候需要设计特殊的界面组件,而在UI设计器的组件面板里没有合适的组件,这时候就需要设计自定义的界面组件。所有的界面组件的基类是QWidget,要设计自定义的界面组件,可以从QWidget继承一个自定义的类,重定义它的paintEvent()事件,用Qt的绘图功能绘制组件外观,并实现需要的功能。例如我们需要设计一个电池电量显示的组件,如下图所示。 1. 设计一个从QWidg...

2019-09-12 15:12:33 7957 3

原创 gerber学习总结

Gerber 文件介绍 Gerber 文件 Gerber 文件是光绘机专用的标准文件格式。现有274D、274X 两种常用格式。Gerber 文件起源于矢量式光绘机,所以具有分立的D 码表。Gerber-274D 是由Gerber 文件和分立的D 码表文件组成的。Gerber 文件只描述基本元素的位置,并不描述其形状和大小;而D 码表负责描述基本元素的形状和大小。Gerber-...

2019-06-10 10:44:17 11284 3

转载 (转)Unity3d学习

  1、 Unity3d游戏项目实战http://pan.baidu.com/s/1mieKgPE2、Unity3d游戏图形学从理论到实战 http://pan.baidu.com/s/1c2wBs7e3、VR入门:C#编程语言https://pan.baidu.com/s/1_t8dEpNH-F5aTsltQSvltA4、RPG游戏从框架到实战视频https://pan.baidu.com/s...

2018-06-07 14:15:30 133

studentManger.txt

基于c++的学生管理系统,实现学生成绩的添加,修改,查看,排序,分析,

2019-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除