![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
努力的小带土
这个作者很懒,什么都没留下…
展开
-
QSS样式表的学习
QSS是Qt程序界面中用来设置空间背景图片,字体大小,字体颜色,按钮状态变化等属性,它是用来美化UI界面。实现界面和程序的分离,快速切换皮肤。语法:1、 Selector {property:value} ; //Selector 即Qt中的各种控件,如QPushButton、QLable等等例: QPushButton {color : red}2、 如果有多个选择器,选择器之间用逗号隔开例: QPushButton,QLineEdit,QComboBox{color : red...原创 2021-07-27 16:40:50 · 1023 阅读 · 0 评论 -
qt中的foreach用法
直接上代码: QStringList test; test.append("aaaa"); test.append("bbbb"); test.append("cccc"); QString tempa; QString tempb; int i = 0; foreach(tempa, test) { qDebug() << tempa << endl; if(1==i)原创 2021-07-18 16:27:35 · 1702 阅读 · 0 评论 -
VS无法打开qt中的ui文件
解决方案:即可。原创 2021-07-18 16:02:53 · 189 阅读 · 0 评论 -
QListWidget类的用法
本教程通过举例来讲解QListWidget的用法首先申明一个QListWidget类,通过setSelectionMode(),来设置QListWidget的Item选择模式:listWidget = new QListWidget(this);listWidget->setSelectionMode(QAbstractItemView::SingleSelection); // 单选,按下ctrl 可以清楚所选择的对象QListWidget添加QListWidgetItem有两种方法,原创 2021-07-14 09:29:35 · 2001 阅读 · 0 评论 -
Qt制作简单的折线图
首先在.pro添加 QT += Charts ;若使用的是VS编程软件,具体操作如下所示:原创 2021-06-19 17:38:38 · 1544 阅读 · 0 评论 -
Qt多线程
Qt 4.0线程使用方式,值得注意的是,在MyThread 类中只有run()函数才是唯一的线程处理函数,即在run()函数中的线程和主线程中的线程号是不一样的。MyThread 类在主线程中不能直接调用run()函数,通过start()函数间接调用run()函数。在Qt线程中创建线程步骤首先创建一个新类,该类继承于QObject。在QObject类中进行下列修改,便能成为QThread 。MyThread.hMyThread.cpp...原创 2021-05-17 19:59:23 · 270 阅读 · 0 评论 -
Qt连接MySQL数据驱动(绝对有效)
笔者来来回回和其斗争了4次,一次是在工作机上安装,一次是自己电脑安装,还有两次是重新卸载然后再次安装,因此给出自己的经验与过程,以便帮助他人。首先安装Qt的时候一定要安装Source源码,因为我们要在mysql 源码中进行操作成功安装qt源码之后在E:\SoftWare\QtCreator\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql 目录中找到mysql.pro 工程文件,打开之后进行编辑首先屏蔽#QMAKE_USE += mysql..原创 2021-01-26 12:16:45 · 8830 阅读 · 32 评论 -
MySQL库常见错误的解决方案----1366 - Incorrect string value:‘\xE5\xBC\xA0\xE4\xB8\x89‘ for column ‘name‘ a 错误修改
这个方案报错是因为你选择的数据库默认不可以使用中文,因此vchar(255)类型的字符应该转换为utf8类型。具体操作如下所示:右击出问题的数据库->编辑数据库之后弹出该对话框字符集排列选择utf8 ,排列规则选择utf8_general_ci。...原创 2020-12-26 21:23:53 · 5607 阅读 · 5 评论 -
可视化数据库操作
可视化界面中最重要的成分即为TableView 界面布局如下所示:第一步 创建数据库(QSqlDatabase)变量,并且指定本地mySql数据库接着打开数据库。 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL") ;//创建MySql数据库 //连接数据库 db.setHostName("127.0.0.1"); //数据库服务器IP db.setUserName("root"); //数据库用户名原创 2020-12-26 15:21:36 · 22846 阅读 · 1 评论 -
Qt数据库批量插入与删除
在Qt使用mySql数据库时,首先需要对数据库进行配置连接,可以通过下面的语句来验证Qt是否链接到数据库。qDebug() << QSqlDatabase::drivers() ;若链接成功则会输出接着我们就可以愉快的操作数据库了,首先创建连接数据库,并在数据库中创建表格。ui->setupUi(this); qDebug() << QSqlDatabase::drivers() ; //添加驱动 QSqlDatabase db原创 2020-12-23 09:55:06 · 5016 阅读 · 2 评论 -
Qt中Pro文件添加C++11、局域网络、数据库
添加C++11的方法是在pro工程文件中添加 CONFIG += C++11添加局域网络的方法是在pro工程文件中添加 QT += network添加数据库的方法是在pro工程文件中添加QT += sql原创 2020-12-15 14:30:34 · 2171 阅读 · 0 评论 -
Qt使用Tcp传输文件
实现功能:在首先在客户界面上点击连接,连接成功之后在服务器界面上点击传输文件按钮,弹出文件对话框,选择所需传输的文件之后,点击发送文件即可。接着查看对应路径便会发现文件已在对应路径之下。具体操作流程如下:点击客户端上的connect按钮,服务器上显示成功链接。点击选择文件,弹出文件对话框,点击打开。点击发送文件,弹出对话框,点击ok,待进度条长满100%之后文件传输完成,便能在相应文件夹中查看。好啦,话不多说,附上代码:clientWidget.h#ifndef C原创 2020-12-09 10:35:39 · 1924 阅读 · 2 评论 -
QTcp编程
服务器端:服务器端有两个套接字—QTcpServer(监听套接字)、QTcpSocket(通信套接字) 。为实现QT环境下的网络编程首先应在“pro”工程文件中添加QT += network ,如下图所示:接着便可以着手编写服务端程序,首先在头文件中声明两个套接字,在服务器主函数中,使用监听套接字调用listen()函数。 /*动态分配通信套接字**/ tcpSocket = NULL ; /*动态分配监听套接字**/ tcpServer = new QT..原创 2020-12-05 10:57:53 · 297 阅读 · 0 评论 -
Qt 实现8*8的棋盘
实现方式:绘制8*8的棋盘格,任意点击棋盘格中的空白格可以生成一个滑稽表情在里面分析:1、绘制网格线:(1)绘制行线第一行:paint.drawLine(startX,startY+0*gridLength,startX+8*gridWidth,startY+0*gridLength); 同理第二行:paint.drawLine(startX,startY+1*gridLength,startX+8*gridWidth,start...原创 2020-12-02 10:52:13 · 1381 阅读 · 0 评论 -
Qt实现文本文件简单的读写
文件读写是应用程序的最基础功能,任何一款与办公相关的软件都涉及到文件读写,Qt为文件读写操作提供了QFile类。为演示该功能,界面如下所示:读操作:右击Read按钮转到其槽函数,代码编写如下:void Widget::on_ButtonRead_clicked(){ QString path = QFileDialog::getOpenFileName(this,"Open","../") ; //父类 , 文件名 , 文件地址 if(!path.isEmpty()) //当原创 2020-11-29 11:43:49 · 1208 阅读 · 2 评论 -
QT不规则窗口
在Qt中除了常见的方形窗口,还可以利用程序特性进行界面美化创建不规则窗口。为实现该功能需要重写paintEvent、mouseMoveEvent、mousePressEvent等虚函数。实现不规则窗口的核心程序(放在Widget构造函数中)为: //去窗口边框 //后面加一个windowflags的作用是防止整个窗口被去掉,因为我只是一个简单的去边框作用。 setWindowFlags(Qt::FramelessWindowHint | windowFlags());原创 2020-11-27 14:11:31 · 868 阅读 · 0 评论 -
QT 绘图设备的总结
QT中有三个常见的绘图设备:QPixmap、QImage、QPicture 。三者的用法几乎一模一样,但要注意三者性质上的区别。QPixmap :专门针对屏幕进行优化,和平台相关,不同的平台导致显示效果不一样(不能对图片像素点进行修改) QImage:和平台无关,可以对图片像素点进行修改,在线程中绘图(很重要) QPicture:保存绘图的状态(二进制文件,而不是图片),方便另外一个电脑进行读取值得注意的是往常编写窗口绘图代码是在Virtual void PaintEvent() ; 函数中进行.原创 2020-11-26 09:55:13 · 270 阅读 · 0 评论 -
QT简单的进行绘图,手动更新窗口
#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QPainter>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = nullptr); ~Wid.原创 2020-11-24 11:24:32 · 759 阅读 · 0 评论 -
Event()函数
当事件发生时,Qt 将创建一个事件对象。Qt 中所有事件类都继承于QEvent。在事件对象创建完毕后,Qt 将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是按照事件对象的类型分派给特定的事件处理函数(event handler)。使用程序代码对event的事件分发进行相关描述:bool MyWidget::event(QEvent *event){ //事件分发,若在MyWidget中产生了事件则必须经过该函数去进行事件分发。 /*原创 2020-11-19 10:22:14 · 1846 阅读 · 0 评论 -
事件和忽略
学到事件和忽略的时候,感觉有点蒙,看到这篇文章的时候眼睛一亮因此推荐给各大博友(代码为博主自己编写,但文章是模仿他人编写,若有侵权请及时联系!)事件的接收与忽略的示意图如下图: 依据前面的知识,事件是可以依据情况进行接收和忽略的,事件的传播是组件层次上面的,而不是依靠类继承机制。在一个特殊的情形下,我们必须使用accept()和ignore()函数,那就是窗口关闭的事件对于窗口关闭Qcloseevent事件,调用accept()意味着Qt会停止事件的传播,窗...转载 2020-11-18 21:15:00 · 148 阅读 · 0 评论