
qt开发
文章平均质量分 56
橙儿稻香
金山办公高级开发
展开
-
VS 静态库lib如何依赖动态库dll
一般来说,vs可以提供正常的依赖输入窗口用于依赖动态库。但是当工程设置生成静态库之后,VS默认不支持给静态库增加依赖动态库。链接器选项没有了。此时只能够把静态库所依赖的动态库也改成静态库,这样这个静态库才能被正常编译,否则编译的时候会报错,全部都是动态库预编译声明__declspec(dllimport).有没有什么方法让静态库也能链接动态库呢? 有的。#pragmacomment(lib,"..\\release\\xxx.lib")在报错调用动态库方法类的文...原创 2021-05-08 18:58:12 · 1298 阅读 · 0 评论 -
Qml文件的两种加载方式|启动Qt quick app的两种方法
一种是QQmlApplicationEngine搭配Window,例如:[cpp] view plain copy #include #include int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQmlApplicationEngine转载 2017-12-12 18:09:48 · 805 阅读 · 0 评论 -
qt 折线图开发
1. QT坐标系统。在画坐标系之前,我们得先了解一下QT5的坐标系统。QT5的坐标设定左上角为原点(0,0),向右为x轴正方向,向下为y轴正方向,这点与生活中常见的直角坐标系不同。2. 绘制直角坐标系 2.1 添加头文件 #include //用于绘画事件 #include //引入用到的控件 2.2转载 2017-09-22 14:05:06 · 1477 阅读 · 0 评论 -
qt TCP接收数据遇到的问题
项目负责利用TCP来传输一组大的数据,然后在接收函数里将接收的数组进行解包赋值。从结果来看发现解包出来的数据都是错误的,几乎都是随机并且好几个值是负无穷。这里就发现了QT的TCP传输机制,它将我的数据分两次接收,每一次是原来的一半。例如我传3000字节大小,那么它会拆成两次1500,偶尔会出现2966和44或者一次满包的情况。随着你传输数据越大,能一原创 2017-10-18 08:44:32 · 6567 阅读 · 2 评论 -
Qt Table 的表头合并
最近接到了开发表格的需求,一般来说网上有很多不错的例子。表格的开发多半使用QtableWeiget或者Qtableview。为了美观,有很多样式设置的代码行。基本外观设置FriendTable->setFrameShape(QFrame::NoFrame); //设置边框FriendTable->setHorizontalHeaderLabels(HeadList);原创 2017-09-27 08:49:04 · 19747 阅读 · 3 评论 -
QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚。所以,今天就在这里总结一下! 以下为个人模拟Windows资源管理器的一个表单 一、设置表单样式 table_widget->setColumnCount(4); //设置列数 table_widget->horizontal转载 2017-09-26 17:02:18 · 805 阅读 · 0 评论 -
Qt--改变鼠标形状
改变鼠标形状,在绘制坐标系的时候有用到,特此记下: 1 this->setMouseTracking(true); //设置为不按下鼠标键触发moveEvent 2 void mouseMoveEvent(QMouseEvent* event) 3 { 4 QPoint mousepos = event()->pos(); 5 6 //在坐标(0转载 2017-08-30 15:06:08 · 11889 阅读 · 1 评论 -
qt静态链接库心得
今天在工作上要调用别人的函数,故而用到了静态链接,网上方法挺多的就不赘述了,只是来说说自己的大概情况。pro文件里面添加LIBS +=My_path/libwaveformGEN.a //路径要一致,否则会报错找不到该文件然后我就报了三行错 relocation R_X86_64_PC32 against symbol `ceil@@GLIBC_2.2.原创 2017-09-06 08:32:43 · 1851 阅读 · 0 评论 -
QTcpSocket 发送数据心得
遇到不会用的函数前,最好还是看看手册QAQ,今天居然吃了这个大亏!!! 先交代一下背景: 在做TCP客户端的发送数据功能,要和服务器程序进行TCP/IP通信,且根据通信协议要发送数组或者结构体,并且数组的每一个位都是有效数据位。因此不能像大多数人一样加blockSize篡改协议内容。。网上大多数的例子都是 //用于暂存要发送的数据 QByteArray block;原创 2017-08-22 14:44:14 · 14218 阅读 · 4 评论 -
qt线程通信(通过信号触发来传递参数)
最近用QT做一个服务器,众所周知,QT的主线程必须保持畅通,才能刷新UI。所以,网络通信端采用新开线程的方式。在涉及到使用子线程更新Ui上的控件时遇到了点儿麻烦。网上提供了很多同一线程不同类间采用信号槽通信的方式,但是并不完全适合线程间的信号槽通信,这主要体现在自定义消息的传递上。首先我们看看一般的方式:testthread.h 文件[cpp] view p转载 2017-08-31 21:45:39 · 14477 阅读 · 0 评论 -
QT Qmessagebox 与 bottonBox 结合应用例子
Qmessagebox最常见的用法就是矫正用户的误操作,提供正确的引导指示。获取点击事件首先,创建一个dialog之后会默认带一个控件QDialogButtonBox。 if(ui->buttonBox->button(QDialogButtonBox::Ok) == button) //判断按下的是否为"确定”按钮来进行控件交互获取点击OK(botton)事件。void mainWindow原创 2017-08-15 13:40:51 · 594 阅读 · 0 评论 -
关于跨线程操作的心得
背景:创建线程是为了把任务量大的事情交给线程去做,防止因为主线程(GUI线程)执行逻辑代码产生卡顿造成用户体验不好的现象。这样子就会涉及主线程和子线程的通信问题。子线程包括了逻辑子线程和GUI子线程,一般来说因为GUI子线程有自己的触发事件,跟主线程交互的情况比较少,所以就不讨论了,这里就单单说下逻辑子线程。一般子线程要传递数据或者调用主线程的函数,都会使用信号SIGNAL。 在子线程对象被创造出原创 2017-08-25 11:23:29 · 1634 阅读 · 0 评论 -
qt中的lineEdit文本输入框的输入类型限制(三种验证类)
qt中的lineEdit文本输入框的输入类型限制(三种验证类)在之前的开发过程中因为经验不足,导致了程序健壮性不好而吃了不少的亏,因为输入源头无法控制而导致程序出现未知的错误甚至崩溃,这对于用户体验来说极为不好。因此这次限制lineEdit输入源是有极为必要的。经过初步的调研,发现目前三种限制分别是1.输入int类型 限制 QIntValidator *validator = new QIntVa原创 2017-08-15 09:55:45 · 14728 阅读 · 1 评论 -
QT之TCP客户端线程通信
摘要最近因为工作上的需求要利用到tcp,之前接触的比较多的是C语言的tcp通信,转到QT之后多多少少有些不适应,因为QT把TCP通信的功能封装好了。让我们一起看看TCP客户端加上线程是如何实现的。线程因为C语言的影响,我会首选线程来实现TCP客户端。因为GUI编程下不知道进程是否操作的好这是其一,其二是因为线程与进程相比对系统的资源开销比较小,利于优化,减少界面的卡顿提高用户体验这是很重要的一点。原创 2017-08-17 21:33:41 · 13303 阅读 · 4 评论