关闭

Qt Table 的表头合并

最近接到了开发表格的需求,一般来说网上有很多不错的例子。表格的开发多半使用QtableWeiget或者Qtableview。为了美观,有很多样式设置的代码行。 基本外观设置 FriendTable->setFrameShape(QFrame::NoFrame);  //设置边框 FriendTable->setHorizontalHeaderLabels(HeadList);...
阅读(70) 评论(0)

QTableWidget详解(样式、右键菜单、表头塌陷、多选等)

在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚。所以,今天就在这里总结一下!   以下为个人模拟Windows资源管理器的一个表单    一、设置表单样式   table_widget->setColumnCount(4); //设置列数   table_widget->horizontal...
阅读(36) 评论(0)

qt 折线图开发

1. QT坐标系统。 在画坐标系之前,我们得先了解一下QT5的坐标系统。 QT5的坐标设定左上角为原点(0,0),向右为x轴正方向,向下为y轴正方向,这点与生活中常见的直角坐标系不同。 2. 绘制直角坐标系     2.1 添加头文件      #include //用于绘画事件 #include //引入用到的控件         2.2 ...
阅读(29) 评论(0)

libpng-warning-iccp-known-incorrect-srgb-profile 警告问题

Libpng-1.6 is more stringent about checking ICC profiles than previous versions. You can ignore the warning. To get rid of it, remove the iCCP chunk from the PNG image. Some applications treat warnin...
阅读(33) 评论(0)

qt静态链接库心得

今天在工作上要调用别人的函数,故而用到了静态链接,网上方法挺多的就不赘述了,只是来说说自己的大概情况。 pro文件里面添加LIBS +=My_path/libwaveformGEN.a //路径要一致,否则会报错找不到该文件 然后我就报了三行错  relocation R_X86_64_PC32 against symbol `ceil@@GLIBC_2.2....
阅读(44) 评论(0)

qt线程通信(通过信号触发来传递参数)

最近用QT做一个服务器,众所周知,QT的主线程必须保持畅通,才能刷新UI。所以,网络通信端采用新开线程的方式。在涉及到使用子线程更新Ui上的控件时遇到了点儿麻烦。网上提供了很多同一线程不同类间采用信号槽通信的方式,但是并不完全适合线程间的信号槽通信,这主要体现在自定义消息的传递上。 首先我们看看一般的方式: testthread.h 文件 [cpp] view p...
阅读(53) 评论(0)

Qt--改变鼠标形状

改变鼠标形状,在绘制坐标系的时候有用到,特此记下: 1 this->setMouseTracking(true); //设置为不按下鼠标键触发moveEvent 2 void mouseMoveEvent(QMouseEvent* event) 3 { 4 QPoint mousepos = event()->pos(); 5 6 //在坐标(0 ...
阅读(42) 评论(0)

关于跨线程操作的心得

背景:创建线程是为了把任务量大的事情交给线程去做,防止因为主线程(GUI线程)执行逻辑代码产生卡顿造成用户体验不好的现象。这样子就会涉及主线程和子线程的通信问题。子线程包括了逻辑子线程和GUI子线程,一般来说因为GUI子线程有自己的触发事件,跟主线程交互的情况比较少,所以就不讨论了,这里就单单说下逻辑子线程。一般子线程要传递数据或者调用主线程的函数,都会使用信号SIGNAL。 在子线程对象被创造出...
阅读(44) 评论(0)

QTcpSocket 发送数据心得

遇到不会用的函数前,最好还是看看手册QAQ,今天居然吃了这个大亏!!! 先交代一下背景: 在做TCP客户端的发送数据功能,要和服务器程序进行TCP/IP通信,且根据通信协议要发送数组或者结构体,并且数组的每一个位都是有效数据位。因此不能像大多数人一样加blockSize篡改协议内容。。网上大多数的例子都是 //用于暂存要发送的数据 QByteArray block;...
阅读(36) 评论(0)

QT之TCP客户端线程通信

摘要最近因为工作上的需求要利用到tcp,之前接触的比较多的是C语言的tcp通信,转到QT之后多多少少有些不适应,因为QT把TCP通信的功能封装好了。让我们一起看看TCP客户端加上线程是如何实现的。 线程因为C语言的影响,我会首选线程来实现TCP客户端。因为GUI编程下不知道进程是否操作的好这是其一,其二是因为线程与进程相比对系统的资源开销比较小,利于优化,减少界面的卡顿提高用户体验这是很重要的一点。...
阅读(61) 评论(0)

QT Qmessagebox 与 bottonBox 结合应用例子

Qmessagebox最常见的用法就是矫正用户的误操作,提供正确的引导指示。获取点击事件首先,创建一个dialog之后会默认带一个控件QDialogButtonBox。 if(ui->buttonBox->button(QDialogButtonBox::Ok) == button) //判断按下的是否为"确定”按钮来进行控件交互获取点击OK(botton)事件。void mainWindow...
阅读(53) 评论(0)

qt中的lineEdit文本输入框的输入类型限制(三种验证类)

qt中的lineEdit文本输入框的输入类型限制(三种验证类)在之前的开发过程中因为经验不足,导致了程序健壮性不好而吃了不少的亏,因为输入源头无法控制而导致程序出现未知的错误甚至崩溃,这对于用户体验来说极为不好。因此这次限制lineEdit输入源是有极为必要的。 经过初步的调研,发现目前三种限制分别是1.输入int类型 限制 QIntValidator *validator = new QIntVa...
阅读(57) 评论(0)
    个人资料
    • 访问:557次
    • 积分:89
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档