
qt
文章平均质量分 78
qt
我肚子好饿
人笨就要多记
展开
-
qt中使用halcon,新版本qt添加mysql驱动
1、halcon配置:首先要安装好halcon,然后找到halcon的安装目录,直接右击halcon打开文件夹位置,我的目录是C:\Program Files\MVTec\HALCON-19.05-Progress。把halcon目录下的include文件夹和lib文件夹复制到qt项目路径:然后在.pro文件中配置include和lib路径:#--------------halcon--------------INCLUDEPATH += $$PWD/includeINCLUDEPATH +=原创 2021-05-07 11:05:54 · 909 阅读 · 1 评论 -
qt笔记2021-4-13 (1、qtcreator项目和vs项目转换 2、qt项目兼容xp系统运行 3、使用提升为来替换控件类)
vs2015安装qt环境qt拓展原创 2021-04-13 18:30:36 · 982 阅读 · 0 评论 -
qt 学习笔记(QSettings读写ini文件,new出来的控件的qss不继承到子控件,QVariant使用及存取各种类型,信号传递图片、自定义结构体、QVariant格式、传递类对象、传递控件)
在pyqt软件中加入了训练模型和检测功能,由于训练模型和检测比较耗时,所以放到了线程中跑。但是突然想到一个问题,怎么把线程里跑出来的检测结果图片放到主界面显示。于是乎一番搜索后,发现可以通过信号传递QVariant来实现。下面以Qt为例,...原创 2021-03-30 19:18:29 · 1057 阅读 · 0 评论 -
C++ qt5学习笔记 2021-3-8(1、访问控件中的子控件,在自建的控件中使用。2、重绘combobox。3、qt中使用opencv,及异常问题的解决。4、qt中配置海康相机。)
1、访问控件的子控件:(1)访问控件中的控件:想要访问控件的控件时,使用下面的两种方法:QObject::findChild(const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) constQList QObject::findChildren(const QString &name = QString(), Qt::FindChildOptions o原创 2021-03-08 19:54:19 · 779 阅读 · 2 评论 -
qt5 做的一个类似qq的界面
遇到的问题:1、想让lineedit只显示下边框,但是开发过程中试验了很多次都不知道怎么解决,后来想起之前写了html代码得到了灵感。解决方案:1、试验了很多次,必须首先设置上边框的线宽,然后才能设置其他边框的线宽。...原创 2021-03-01 18:59:59 · 977 阅读 · 4 评论 -
c++ qt 学习笔记 2021-2-26(QLabel的对齐方式等一些属性,QLabel自适应文字大小,QLabel播放gif,动态的QQ消息气泡框)
1、QLabel的对齐方式等一些属性:(1)对齐方式:QLabel对齐的方法:Qt::Alignment alignalignment() const; //获取对齐方式void setAlignment(Qt::Alignment align); //设置对齐方式Qt::Alignment属性:Qt::AlignLeft //水平方向靠左。Qt::AlignRight //水平方向靠右。Qt::AlignHCenter //水平方向居中。Qt::AlignJusti原创 2021-02-26 18:41:56 · 8118 阅读 · 0 评论 -
c++ qt 2021-2-25(界面类之间传参,实例化界面类时就传递参数的方法,点击调起动态页面)
1、界面类之间:想要在界面类之间传递参数。界面类本质上还是两个类,所以常用的两个方法:(1) 直接通过对象访问成员变量或成员函数进行赋值:比如我在界面类A中定义两个public字符串: QString a; QString b;然后在界面类B中实例化A,然后就可以对该对象的成员变量a、b进行赋值了。如:chat_box *chat_box1 = new chat_box(this,"aa","bb","cc");chat_box1->a = "a";chat_box1-原创 2021-02-25 20:41:02 · 1159 阅读 · 1 评论 -
qt 给容器中的控件添加信号槽
之前做的将动态创建的控件,放到容器中,从而可以使用数组访问,现在记一下怎样给它们设置事件。1、实现思路:比如我创建了10个按钮,每创建一个,我就构建一个信号槽的连接。由于我不能构建太多的槽函数,所以,这10个按钮我都绑定到同一个槽函数上去。又一个问题来了,问题是我该怎么区分我点击的哪个按钮?其实只要在connect中将按钮在容器中的位置传递到槽函数中。2、详细操作:以下将接着:https://blog.youkuaiyun.com/qq_36780295/article/details/113860352 来原创 2021-02-23 16:38:07 · 944 阅读 · 0 评论 -
c++ Qt5学习笔记 2021-2-22 (setContentsMargins()作用,设计布局实现的QQ消息列表,自定义控件来实现动态添加,使用数组来控制自定义控件)
1、setStyleSheet()和setStyle():通过已有控件,设置qss修改,但是用起来较为单一。之前写过很多了,不再多说了。2、paintEvent事件:即将一些原有的图形画到控件上。比如在某个按钮或label的右侧有一个小箭头:就不需要想我以前一样傻乎乎的放一个label在那里,把图案画到按钮上就行。除此之外,找一整张这样的图片,或者设置padding属性调整图标位置和大小也可以。paintEvent使用方法之前写过。3、qml4、init5、自定义插件:在Qt中创建控件项目原创 2021-02-22 20:24:21 · 3512 阅读 · 3 评论 -
PyQt5--图片显示分类工具
基于PyQt5的图片显示分类工具欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片完整代码生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markd原创 2020-07-22 10:31:52 · 1884 阅读 · 0 评论 -
python pyqt5学习笔记 2020.9.29(改变鼠标样式,获取鼠标当前位置坐标,鼠标控制qlabel图片移动和图片的缩放)
改变鼠标的样式表格来自:https://blog.youkuaiyun.com/qq_38783863/article/details/103951314使用时:#鼠标移入label1中变成普通光标self.ui.label1.setCursor(QtCore .Qt.PointingHandCursor) #手型光标鼠标相关事件表格来自:https://blog.youkuaiyun.com/qq_38783863/article/details/103951314鼠标滚轮事件:def whee原创 2020-09-29 13:44:33 · 6941 阅读 · 29 评论 -
python pyqt5学习笔记 2020.9.25(用numpy创建画布,鼠标点击移动事件,为按钮添加快捷键)
使用numpy创建一张空白的画布#10*10,3通道的全0数组(此处产生的img为纯黑色画布)img = np.zeros([10, 10, 3],dtype = np.uint8)#10*10,3通道的全1数组img = np.ones([10, 10, 3],dtype = np.uint8)#要产生一个全白色画布时,用全1数组每一项都乘以255img = 255*np.ones([10, 10, 3],dtype = np.uint8)获取路径中的文件的名字os.path.basen原创 2020-09-25 19:53:57 · 1452 阅读 · 0 评论 -
python pyqt5学习笔记 2020.9.24(鼠标悬浮提示,改变鼠标背景,使用外部变量,滑动条的使用,使用QListWidget切换图片)
鼠标指到按钮上提示setToolTip()例如: 定义了一个按钮 red_pen使用时:self.red_pen.setToolTip("红色")结果:点击按钮,改变鼠标光标的样式,添加背景#通过点击按钮,改变鼠标光标在lflabel1控件中的背景 def set_red_pen(self): #改变光标背景 pic=QtGui.QPixmap("pic/1.jpg") #读取图片 pic = pic.scaled(25,25原创 2020-09-24 16:53:49 · 3103 阅读 · 0 评论 -
python pyqt5学习笔记 2020.9.23 (stacked layout 实现按钮切换页面,选择文件夹)
stacked layout 实现按钮切换页面实现按钮切换页面流程如下:#创建按钮,连接功能self.main_btn = QtWidgets.QToolButton(self.menubox)self.main_btn.setText("主页")self.main_btn.setObjectName("main_btn")self.main_btn.setGeometry(QtCore.QRect(0,0,100,100))self.main_btn.clicked.connect(Form原创 2020-09-23 18:49:56 · 941 阅读 · 0 评论 -
C++ Qt5 参数配置及数据查询软件
一只毕业没多久的小白,正在学习中,请多包涵。2020.9.23更新各个功能的详细实现写在了以下博客中,个别一些简单的东西没写(中间又忙了许多其他事情,所以进度快不起来):2020.9.10:https://blog.youkuaiyun.com/qq_36780295/article/details/1085187332020.9.11:https://blog.youkuaiyun.com/qq_36780295/article/details/1085273012020.9.14:https://blog.csdn.原创 2020-09-23 12:37:13 · 278 阅读 · 0 评论 -
C++ QT5学习笔记 2020-9-21(托盘球最小化,在qt中使用excel,点击按钮跳转一个新窗口,将table widget中的内容传递到excel中并导出)
Qt中使用excel打开项目的.pro文件,在开头添加:QT += axcontainer原创 2020-09-21 18:31:28 · 506 阅读 · 4 评论 -
C++ QT5学习笔记 2020-9-15(获取dateedit当前日期,并作为数据库条件查询的参数,关闭进程按钮功能,在qt中添加图片资源,添加图标)
获取dateEdit控件的日期 //日期 QDate date=ui->dateEdit->date(); QString year=QString::number(date.year()); //年 QString month=QString::number(date.month()); //月 QString day=QString::number(date.day()); //日在数据库中使用dat原创 2020-09-15 19:28:40 · 3309 阅读 · 0 评论 -
C++ QT5学习笔记 2020.9.14(combox添加选项可被编辑,lineedit初始值、灰色提示、限制输入为0-99,sql条件查询结果显示在table widget中,清除表格数据)
comboBox添加选项: ui->comboBox->addItem("1"); ui->comboBox->addItem(u8"全部"); //中文lineEdit使用:ui->lineEdit->setText("12"); //为lineEdit设置初始值ui->lineEdit->setPlaceholderText("12"); //lineEdit显示文本(灰色),但不作为值输入ui->lineEdit原创 2020-09-14 20:34:50 · 1696 阅读 · 0 评论 -
报错:QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record在使用QSqlQuery查询数据并用query的结果value出现QSqlQuery::value: not positioned on a valid record错误QSqlQuery query;query.prepare("select id,name from employee where name like :inputName");query.bindValue(":inputName"原创 2020-09-11 17:17:04 · 1001 阅读 · 0 评论 -
C++ Qt5学习笔记 2020.9.11(使用sqlite数据库,在table widget中显示从数据库中条件查询的数据,打包成exe程序,日常报错)
生成exe点击左下角的小电脑,选择想要生成的项目,构建选择Release:(sqlite多打了个l,不要在意。。。)点击运行程序。执行完以后,打开项目地址生成的debug文件夹:接着,打开Release文件夹,将生成的exe文件拷贝出来,放到一个单独的目录,比如:e://demo ,由于程序中还有用到的一些依赖,所以还需要把依赖的 dll 文件拷贝过来,怎么拷贝看下面。点击搜索框,搜索QT:有可能会像我一样,出现多个编译器,这里选择 Qt5.14.1(MinGW)。打开进入到e://d原创 2020-09-11 16:21:18 · 1980 阅读 · 1 评论 -
C++ Qt5学习笔记 2020.9.10(dateedit设置日期为系统日期,使用table widget及在table widget中插入中文报错和乱码,stacked widget实现分页切换)
Table widget使用首先在ui界面中布置Table widget到需要的位置在mainwindow.cpp中按情况添加下列代码: //设置表格列数 ui->tableWidget->setColumnCount(11); //设置表格行数 ui->tableWidget->setRowCount(2); //插入属性名 ui->tableWidget->setHorizontalHeader原创 2020-09-10 17:36:08 · 1602 阅读 · 0 评论 -
python pyqt5学习笔记 2020-10-16(对图片进行数据增强,使用线程,以及主线程与子线程互相传递信息)
对图片进行数据增强Augmentor数据增强库:https://blog.youkuaiyun.com/qq_34374211/article/details/83280215tensorflow数据增强:https://zhuanlan.zhihu.com/p/35938791tensorflow来增强数据(由于我用的是tensorflow2.0的版本,所以用起来有点别扭,但不影响)import tensorflow as tfimport onnximport kerasfrom keras.bac原创 2020-10-16 19:18:42 · 1369 阅读 · 10 评论 -
python pyqt5(鼠标左键画图,右键移动图片,滚轮控制图片放缩)
import sysimport osfrom PyQt5 import QtWidgets,QtCore,QtGui,Qt import cv2.cv2 as cv class MainWindow(QtWidgets.QWidget): def __init__(self): super().__init__() self.initUI() self.path = "" self.cur_img = ""原创 2020-10-12 19:12:42 · 4215 阅读 · 3 评论 -
C++ Qt5学习笔记 2020-10-9 (将qlabel放到容器中,并使用数组对其控制)
将初始化的qlabel放到数组中之前通过拖拽label显示在区域范围内的功能中,通过for循环初始化qlabel,但想要操作控制时,无法定位到,所以把label都放到数组中。错误的方法:一开始想的太简单,像下面这样做,结果不行。在mainwindow.h中://头文件#include <QLabel>#include <QPushButton>//创建控件数组QPushButton *button[10];QLabel *qlabel_group[64];在m原创 2020-10-09 19:09:41 · 3058 阅读 · 3 评论 -
python pyqt5学习笔记 2020-10-10(键盘输入事件+按下放开,鼠标点击区分左右中键,QWebEngineView显示网页)
键盘输入事件keyPressEvent写一个键盘输入事件: #键盘输入事件 def keyPressEvent(self, event): self.Press_key = event.key() print(self.Press_key)运行程序,键盘输入一些按键,执行如下:试了几下,发现几个常用键为:ctrl:16777249shift: 16777248enter: 16777220alt: 16777251原创 2020-10-10 15:55:07 · 2709 阅读 · 2 评论 -
c++ Qt5学习笔记 2020-10-7(鼠标点击移动事件,改变鼠标样式,模拟鼠标拖拽控件)
label显示边框ui -> label_14 -> setStyleSheet("border:1px solid black;");鼠标点击移动事件//mainwindow.h中添加头文件#include <QMouseEvent>//添加点击事件指针protected: void mousePressEvent(QMouseEvent *e);//鼠标点击事件 void mouseMoveEvent(QMouseEvent *e);//鼠标移动事件原创 2020-10-07 21:04:42 · 1138 阅读 · 0 评论 -
python pyqt5学习笔记 2020.9.29(2)(图片半透明叠加,以此为基础实现半透明涂鸦标注和橡皮擦)
图片叠加找一张图片:根据图片大小,创建一张相同大小的纯黑色的图片。import cv2.cv2 as cv2import numpy as npimg1 = cv2.imread("C:/Users/Administrator/Desktop/1/1.jpg")img3 = np.zeros((img1.shape), dtype=np.uint8)cv2.imwrite("C:/Users/Administrator/Desktop/2/3.jpg", img3)使用画图工具打开,话原创 2020-09-29 18:44:51 · 2095 阅读 · 5 评论 -
C++ Qt5学习笔记 2020-12-23(TCP传输文件)
参考自:https://www.cnblogs.com/doker/p/11158230.html在此基础上做了一些修改。原创 2020-12-23 20:00:42 · 553 阅读 · 5 评论 -
C++Qt5学习笔记 2020-12-21(网络编程2:udp单播、广播、组播,HTTP下载网络文件)
1、QUdpSocket实现UDP通信:(1)通信概述数据接收端项目:udp_test.pro中引入network:QT += network//mainwindow.h中public: QUdpSocket *udpSocket;public slots: void onSocketStateChange(QAbstractSocket::SocketState socketState); void onSocketReadyRead(); //读取socket传入原创 2020-12-21 15:17:45 · 2083 阅读 · 1 评论 -
C++ Qt5学习笔记 2020-12-16(网络编程1:QHostInfo类,QNetworkInterface类,TCP服务端和客户端通信)
TCP在.pro中添加代码:QT += network原创 2020-12-16 20:23:32 · 932 阅读 · 0 评论 -
C++ Qt5学习笔记 2020-12-11(QTreeWidget使用添加项目,及其他相关操作)
1、QTreeWidget添加项目:QTreeWidget的项目和列都可以直接在ui中双击添加,假设添加2列为例:使用代码添加项目://初始化TreeWidget项目QTreeWidgetItem *item1=new QTreeWidgetItem;//项目图标item1->setIcon(0,button_ico_add_friends); //列数//图标大小item1->setSizeHint(0,QSize(20,20));//项目文字item1->set原创 2020-12-11 22:02:04 · 3254 阅读 · 0 评论 -
C++ Qt5学习笔记 2020-12-10(qlabel对齐方式,dateEdit显示日历,设置滚动条及其一些属性,qss中使用参数,QToolBox的使用,及以此实现简易的QQ好友列表)
1、qlabel对齐方式: ui->label->setWordWrap(true); //自动换行 ui->label->setAlignment(Qt::AlignTop); //上对齐 //ui->label->setAlignment(Qt::AlignBottom); //下对齐2、dateEdit显示日历:ui -> dateEdit->setDateTime(QDateTime::currentDa原创 2020-12-10 16:37:57 · 1647 阅读 · 0 评论 -
C++ Qt5学习笔记2020-12-8(实现三连弹出窗口)
运行结果:看一下效果:原创 2020-12-08 14:37:25 · 848 阅读 · 0 评论 -
问题解决:两个定时器隐藏悬浮窗在上一个定时器任务未完成时触发下一个定时器,导致主界面窗口下沉一级
之前写的两个弹出的浮窗,一个是个人资料,一个是天气,两个都是通过事件过滤器加上定时器来实现的。但是使用时发现当两个过滤器近乎同时,在上一个定时器任务还没结束时,触发另一个定时器,就会使得主体窗口下沉一级,跑到下面一个窗口的下面去了,怎么都没想明白原因,现象如下图:解决方法:使窗口置顶就解决了,即在窗口setWindowFlags添加属性Qt::WindowStaysOnTopHint,然后就像QQ一样,一直处于窗口的最上层了(一开始还没注意到QQ一直是置顶的,所以一直没把写的软件置顶)。要注意的是,原创 2020-12-04 17:28:41 · 278 阅读 · 0 评论 -
C++ Qt5学习笔记2020-12-4(pushbutton文字增加下划线,broder-radius圆角四个角和弯折程度,修改checkbox复选框中的小方框)
1、pushbutton文字增加下划线:qss中增加text-decoration:underline;属性:ui->qq_name->setStyleSheet("QPushButton#qq_name{background:transparent;color:white;text-decoration:underline;}");运行结果:2、broder-radius圆角的使用:资料来自:https://blog.youkuaiyun.com/goforwardtostep/articl原创 2020-12-04 19:17:52 · 1912 阅读 · 0 评论 -
C++ Qt5学习笔记 2020-12-2(在窗口外区域点击时隐藏窗口,实现切换qq登录状态。鼠标悬停显示悬浮窗口,离开区域过一段时间后消失 + 鼠标停留在悬窗时就不消失,以此实现qq天气的悬浮窗口)
1、在窗口外的区域点击时隐藏窗口在该窗口的事件过滤器中添加://安装过滤器installEventFilter(this);//窗口不隐藏bool login_condition::eventFilter(QObject *target, QEvent *e){ if(QEvent::WindowDeactivate == e->type()) { this->hide(); //这里我是隐藏,由于我初始化写在原创 2020-12-03 15:06:25 · 1783 阅读 · 2 评论 -
C++ Qt学习笔记 2020-12-1 (setToolTip换行,定时器使用,类似QQ的设置悬浮窗口实现,pushbutton上的文字或图标左右移动)
悬浮窗口与按钮有一部分重叠,重叠部分隐藏,这样鼠标移出按钮时,已经在悬浮窗口里面了,就不会再隐藏了。原创 2020-12-02 10:23:34 · 1821 阅读 · 0 评论 -
C++ Qt学习笔记 2020-11-27(2)(listwidget设置行高,qss让选中行变色,去掉选中行虚线框,listwidget事件实现页面切换,listwidget自带信号)
1、listwidget插入数据、设置行高:(1)使用listitem对象参考自:https://blog.youkuaiyun.com/sundan308/article/details/8743069 QListWidgetItem * pItem = new QListWidgetItem; pItem->setSizeHint(QSize(100, 102)); //每次改变Item的高度 pItem->setText(u8"参数项目1"); ui->li原创 2020-11-27 17:26:05 · 4984 阅读 · 3 评论 -
报错:qt 多界面类使用事件过滤器死循环,程序异常结束
报错描述:在多个界面使用事件过滤器时,发现窗口还没出来,就加载了一堆东西,然后程序在执行了151行以后被强制结束,输出当前的事件,发现一直在触发Polish事件,this指向却是正常的:解决方法:出现这种问题多半是事件过滤器最后的return写错了,return应返回其基类:比如,我想在窗口qqchat_main_window中使用事件过滤器,由于和其他函数一起写的,习惯性把窗口的类名复制过来粘贴了:return qqchat_main_window::eventFilter(target, e原创 2020-11-26 13:35:04 · 1163 阅读 · 2 评论 -
C++ Qt学习笔记 2020-11-27(控件透明度,LineEdit灰色提示文字,设置按钮图标大小,设置label中文字字体、大小、粗细、颜色等,按钮实现图标在上文字在下显示,qss事件改变格式)
1、设置控件透明度//半透明QGraphicsOpacityEffect* opacityEffect = new QGraphicsOpacityEffect;opacityEffect->setOpacity(0.8);ui->link_persons->setGraphicsEffect(opacityEffect);2、LineEdit灰色背景提示文字ui->search_line->setPlaceholderText(u8"搜索");运行结果:原创 2020-11-27 11:40:34 · 2702 阅读 · 0 评论