- 博客(14)
- 资源 (10)
- 收藏
- 关注
转载 Qt信号量QSemaphore
Qt中的信号量是由QSemaphore类提供的,信号量可以理解为对互斥量功能的扩展,互斥量只能锁定一次而信号量可以获取多次,它可以用来保护一定数量的同种资源。acquire()函数用于获取n个资源,当没有足够的资源时调用者将被阻塞直到有足够的可用资源。release(n)函数用于释放n个资源。 下面通过一个典型用例:生产者和消费者,来实现这二者之间的同#include <QtCore/QCoreApplication>#include <QSemaphore>#inc
2020-09-09 22:15:32 503
转载 QT多线程编程详解
一、线程基础1、GUI线程与工作线程每个程序启动后拥有的第一个线程称为主线程,即GUI线程。QT中所有的组件类和几个相关的类只能工作在GUI线程,不能工作在次线程,次线程即工作线程,主要负责处理GUI线程卸下的工作。2、数据的同步访问每个线程都有自己的栈,因此每个线程都要自己的调用历史和本地变量。线程共享相同的地址空间。二、QT多线程简介QT通过三种形式提供了对线程的支持,分别是平台无关的线程类、线程安全的事件投递、跨线程的信号-槽连接。QT中线程类包含如下:...
2020-09-09 11:12:20 1018
转载 关于qt中的tr()函数
在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr (2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种: (2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) (2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 注意哦,如果你正在用tr包裹中文字符,却不属于(2b),那么,这是个信号:你在误用tr 你需要的是Q
2020-09-09 10:14:40 545
转载 浅谈QTextCodec
在Qt程序中出现latin1字符集以外的字符集,我们会立刻马上想到QTextCodec。并且会同时使用下面的几行条代码:QTextCodec *codec = QTextCodec::codecForName("UTF-8");QTextCodec::setCodecForTr(codec);QTextCodec::setCodecForLocal(codec);QTextCodec::setCodecForCString(codec);可是知道这几行代码表示什么意思吗?QTextC.
2020-09-08 11:02:03 545
原创 qt学习记录-9.4
1、qt通过git下载到另一个电脑编译的程序,只能加载.pro文件,加载不上其他文件:解决方法:删除.user文件,删除程序编译出来的文件,重新加载就可以了
2020-09-04 22:42:43 102
转载 QT 如何向工具栏中添加漂亮的图标
Qt 专门管理GUI里面用到的图标文件,资源文件*.qrc,介绍一下qrc文件的添加。工具/原料 图标文件 方法/步骤 下载好图标文件,放到统一目录下,在Qt工程文件中,选择工程右键-》添加新文件。 选择文件和类里面的Qt模块下的Qt Resource File,点击choose 为资源文件起一个名称,存放路径默认就好,然后下一步,然后 完成。 添加完后,会在工程下生产Resour...
2020-09-04 11:47:28 1978
原创 git用法总结,小白版
一,从网上拉去1、git clone git@gitee.com:******/qt_samp.git最简单2、git pull origin master(如果你想拉到本地的dev分支上,首先git checkout -b dev,然后使用git pull origin dev,这样就将本地dev分支与远程origin/dev相绑定了)3、如果第二个方式存在版本冲突,报错fatal: refusing to merge unrelated histories解决,可以用下面这种方式强制拉
2020-09-04 10:06:12 150
转载 Qt5.8解决QLabel等控件中文编译不过的问题
本猿使用Qt5.8的QLabel遇到及其异常怪的事情,对中文支持有问题。QLabel*label1=newQLabel("时间");编译可以通过,也可以显示。QLabel*label1=newQLabel("开工时间");编译就不能通过了。不就多了几个字吗,至于嘛?其实这就是Qt对中文支持还存在问题,忍忍吧,看怎么解决。结果网上一查都是一些不靠谱的解决,什么utf8如何转为gbk等等。真正的原因是Qt5.8虽然工程文本编码设置为utf-8,但是对中文的支持有问题。必须...
2020-09-03 17:49:58 200
转载 No such slot Widget::on_timer_timeout()
解决办法:1、看看你的类声明中有没有Q_OBJECT,没有加上(并检查是否已经包含#include<QtCore/QObject>头文件)2、你声明的函数要加声明: 例如:privateslots: voidxxxx();3、检查槽函数名拼写是否有误4、确认对应的signal和slot的参数是否一致如果还不行的话,清理项目,删掉原有的moc_xxx.cpp,重新执行qmake.还有一点要注意的是:sign...
2020-09-03 14:51:56 524
转载 fatal: refusing to merge unrelated histories解决
Git :fatal: refusing to merge unrelated histories解决需要注意查看路径是否正确今天本地创建了一个仓库(有README),把本地仓库和Github上关联以后,发现git pull,git feach提醒fatal: refusing to merge unrelated histories上网查到原因是两个分支是两个不同的版本,具有不同的提交历史加一句$git pull origin master --allow-unrelated-h.
2020-09-02 23:45:54 130
转载 git 下载项目到本地
1、新建一个目录,存放下载下来的项目,我在D盘新建了一个“gitspace”文件夹,用来存放下载下来的项目2、进入刚刚新建的文件夹,即进入“gitspace”,点击鼠标右键,选择"Git Bash Here",如下图:点击“Git Bash Here”之后,可以看到下面界面,否则,可能是你的Git Bash安装有问题3、进行基础配置,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中,使用下面两条命令: git config --gl.
2020-09-02 10:15:24 17236 1
原创 使用ssh连接Git仓库(Github)
在本机生成一个公钥和私钥对Linux一般放在~/.ssh/,即用户的.ssh目录下。Windows一般放在用户目录下,如下:这个目录下有一个known_hosts文件,本用户曾经ssh连接过的主机的公钥都会保存在这里。在命令行中使用ssh-keygen.exe工具来生成密钥对:生成过程中会让你指定生成位置,以及给它再设一个密码。我们使用默认位置,不再设定密码。也就是一路Enter就行。生成之后多了两个文件,显然第一个是私钥,第二个.pub是公钥。私钥在自己的设备上存着就可以.
2020-09-01 21:53:14 50305 2
转载 Qt Creator如何进行高级查找(或全工程查找)
Qt Creator如何进行高级查找(或全工程查找)高级查找位置:edit - find/replace - advanced find - open advanced find可以看出,快捷键是ctrl + shift + f打开的界面scope区可以选择选择范围
2020-09-01 13:25:11 3937
STL入门教程
2013-03-26
vcSmith 单元测试 免费
2013-03-26
tensorflow输入两批数据,然后输出两批数据的关系
2020-08-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人