
QT开发实战
QT开发实战
liuyuinsdu
这个作者很懒,什么都没留下…
展开
-
【转】pyqt5+opencv实现视频播放组件,支持实时流
pyqt5+opencv实现视频播放详细源码链接为:https://github.com/2500284064/pyqt5-opencv-video基本原理是通过 VideoCapture 类读取视频源的每一帧数据,将数据转化为图片展示在QWidget中(pyqt5网上资料太少,一开始查到用 vlc 做视频控件,走了很多弯路,后面发现 opencv 用来做视频控件更方便,而且opencv 的功能更加全面)直接贴代码import time import sys from PyQt.原创 2021-03-11 08:15:29 · 1380 阅读 · 0 评论 -
PyQt的安装和使用
一、背景首先在窗口界面的开发工具中有众多的选择,主流的就是Qt,而python更是支持众多语言的窗口界面,包括C++,Java等。因此这里介绍一下关于PyQt5的安装和使用二、安装由于python2已经不再官方维护,并且python3也不再支持PyQt4,所以在这里使用PyQt5python3的安装命令:注意:可以用豆瓣的源pip install PyQt5 -i https://pypi.douban.com/simple安装pyqt5pip install pyqt5原创 2021-03-10 21:12:42 · 1145 阅读 · 0 评论 -
QT对接大华SDK注意事项(一)
第一条军规:仔细看手册,很多细节在手册里都有讲解,只是你能不能意识到的问题第二条军规:库文件里包含lib和dll,要都拷贝进项目里,不要只拷贝lib库,比如实时监控业务,lib库要调用dhplay.dll的函数本帖子跟随项目开发实时更新...原创 2021-03-10 21:08:30 · 711 阅读 · 0 评论 -
QWidget与HWND的互相转换
在编写Windows的应用程序时,我们有时不可避免地要与Windows平台固有的Win32 API打交道,但是Win32 API里面常常用到的HWND等诸多句柄QT并没有。QT作为一款优秀的跨平台GUI库,不可能未作考虑,那么需要互相转换的时候该如何做呢?HWND转QWidgetQWidget *myWidget;HWND hwnd;myWidget=QWidget::find(hwnd);QWidget转HWNDQWidget *myWidget;HWND hwnd;h..原创 2021-03-10 21:08:07 · 701 阅读 · 0 评论 -
static_cast与c风格的强制类型转换比较
最近在开发中,碰到指针类型转化时有时候会纠结与static_cast还是C类型强转,因此特定查了资料以及写代码验证了下,得出结论:应使用static_cast取代c风格的强制类型转换,较安全class A { int a; }; class B { int b; }; class C : public A { int c; }; int main() { B* b = new B; C* c = new C;原创 2021-03-10 21:07:15 · 374 阅读 · 0 评论 -
QT之static_cast<int>
这个不算QT的内容,是一个c++语法。static_cast<T>exp其实就是把exp的部分转化成T类型。比如这句:brushStytleBox->addItem(tr("Dense7"),static_cast<int>(Qt::Dense7Pattern));因为后面的Qt::Dense7Pattern并不是一个int类型,static_cast承担了这个转换职责。...原创 2021-03-10 21:06:18 · 872 阅读 · 0 评论 -
Qt 安装事件过滤器installEventFilter
Qt的事件模型一个强大的功能是一个QObject对象能够监视发送其他QObject对象的事件,在事件到达之前对其进行处理。假设我们有一个CustomerInfoDialog控件,由一些QLineEdit控件组成。我们希望使用Space键得到下一个QLineEdit的输入焦点。一个最直接的方法是继承QLineEdit重写keyPressEvent()函数,当点击了Space键时,调用focusNextChild():voidMyLineEdit::keyPressEvent(QKeyEvent*...原创 2021-03-10 21:05:44 · 969 阅读 · 0 评论 -
QT中this指针和ui及qApp指针的区别
QT中的UI: 就是designer设计的一个界面类,需要转化后你才能看到那个类,如果你自己创建一个类继承自QWidget,那么其实也跟UI无差别,只是添加部件要手动添加代码,不能像designer那么拖动就可以了。QT中的this:就是一个指向类本身的一个指针,所以有时用this就是指向你创建的那个widget类。QT中的qApp:是指向Application的全局变量。...原创 2021-03-09 08:38:35 · 868 阅读 · 0 评论 -
const使用经验
一、const修饰指针int b = 500;1、const int * a = & b;2、int const * a = & b;3、int * const a = & b;4、const int * const a = & b;对于1和2const 放在*左侧,就是用来修饰指针所指向的变量,即指针指向的是常量。若a是仓库管理员,b是仓库。即仓库中的货物(*a)不允许改变。但是可修改指针指向或b的值来改变*a。对于3co..原创 2021-03-09 08:38:03 · 71 阅读 · 0 评论 -
C++中explicit的作用及用法
仅含一个参数的构造函数和除了第一个参数外其余参数都有默认值的多参构造函数承担了两个角色。1.是个构造函数;2 .是个默认且隐含的类型转换操作符。explicit是个C++关键字,其作用是指定仅有一个参数或除第一个参数外其它参数均有默认值的类构造函数不能作为类型转化操作符被隐含的使用,防止该类的对象直接被对应内置类型隐式转化后赋值,从而规定这个构造函数必须被明确调用。我们通过例子来直观的说明:#include <iostream> using namespace std...原创 2021-03-09 08:37:26 · 234 阅读 · 0 评论 -
Qt函数定义语句后面跟代码问题
2、FindDialog::FindDialog(QWidget*parent) :QDialog(parent){ ..............函数}................FindDialog::FindDialog(QWidget *parent) :QDialog(parent)FindDialog是一个类FindDialog(QWidget *parent)是一个类成员函数:QDialog(parent)那这个是什么意思???######################...原创 2021-03-09 08:35:49 · 193 阅读 · 0 评论 -
c++ 创建对象的三种方法
c++有三种方法创建对象结合代码来看 1 #include <iostream> 2 using namespace std; 3 class Test { 4 5 private: 6 public: 7 add() 8 { 9 int x,y,sum;10 x=5;11 y=5;12 sum=x+y;13 cout.原创 2021-03-09 08:35:16 · 1358 阅读 · 0 评论 -
C++中的.和::和:和->的区别
在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。 1、A.B则A为对象或者结构体; 2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针; 3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构; 4、:一般用来表示继承;...原创 2021-03-09 08:34:32 · 187 阅读 · 0 评论 -
C++的指针和引用
写在前面指针和引用形式上很好区别,但是他们似乎有相同的功能,都能够直接引用对象,对其进行直接的操作。但是什么时候使用指针?什么时候使用引用呢?这两者很容易混淆,在此我详细介绍一下指针和引用,力争将最真实的一面展现给大家。如果我喷得不够好,希望嘴下留情、手下留命,还请指点一二;如果感觉还不错,请大家鼓掌。1、指针和引用的定义在深入介绍之前我们首先来看一下指针和引用的定义、指针和引用的区别,然后分别针对指针和引用展开讨论,深入细节为何有这些差异。指针的权威定义: In a declara原创 2021-03-09 08:34:01 · 219 阅读 · 1 评论 -
Qt项目转VS项目
方法一(vs命令行):一: 打开vs 2008 命令行,进入smarthome目录下:二: qmake生成smarthome.vcproj工程(编译过的Qt下的bin目录下qmake) 执行命令C:\Qt\4.8.4\bin\qmake -tp vc (C:\Qt\4.8.4 安装路径在C:)三: 打开smarthome.vcproj工程,生成解决方案(release)。编译通过即可生成exe文件。四: 拷贝exe文件到wince目录下(还要有依赖库文件、qml Qt库等等)...原创 2021-03-09 08:23:10 · 1607 阅读 · 0 评论 -
Qt配置使用MSVC编译器
注意:Qt支持的MSVC就是2017和2015,所以vs也要下载2017,不要直接用最新的,安装路径都用默认的。程序运行失败时可以尝试windeployqt拷贝库文件到本地,然后有可能就能运行了。VS官网下载Visual Studio Community 2017,在线安装Visual Studio Community2017版本。vs2017如何配置见附文一 下载并安装Windows10 SDK, 直接下载.exe版本,然后安装。安装中,切记选择Debugging Toolsfor Window.原创 2021-03-09 08:22:38 · 34236 阅读 · 3 评论 -
QT安装和打包那点事
1、下载QT安装包下载网址:http://download.qt.io/或者http://download.qt.io/archive/qt/选择一个你需要的版本,例如 5.10点击进去后,选择对应操作系统的安装包下载,例如qt-opensource-windows-x86-5.10.0.exe2、安装QT安装包下载好后,双击运行,根据提示一步步往下走即可在选择要安装的组件时,可能需要注意了,可以用两种编译器编译QT程序,一个是Visual Studio,另外一个是M..原创 2021-03-09 08:21:11 · 258 阅读 · 0 评论