
Qt
yingge2016
这个作者很懒,什么都没留下…
展开
-
Qt如何入门
0.Qt框架是使用C++的编写的,在学习Qt之前一定要有一定的C++基础。不要求太高,可以在学习Qt的同时提高自己C++编码水平。1.Qt入门书籍强烈推荐这本书作为入门书籍。里面对Qt框架各个部件都有介绍,并且所用的例子都比较简短,非常适合编程经验不多的同学作为入门教材来学习。2.技术博客Qt学习之路2https://www.devbean.net/category/qt-study-road-2/Qt实战一二三https://blog.youkuaiyun.com/liang19.原创 2021-01-22 14:16:44 · 448 阅读 · 0 评论 -
addStretch 布局平均分配空间
原文连接 点击打开链接今天在使用addStretch,布局的时候,发现addStretch竟然是可以平均分配的,有意思。比如:QVBoxLayout *buttonLayout = new QVBoxLayout; buttonLayout->addStretch(1); buttonLayout->addWidget(Button1); button转载 2015-07-13 16:23:06 · 664 阅读 · 0 评论 -
ubuntu Qt连接MySQL
#include "widget.h"#include #include #include #include #include void loadMySqlDriver();int main(int argc, char *argv[]){ QApplication a(argc, argv);// Widget w;// w.show();原创 2015-07-18 11:28:55 · 672 阅读 · 0 评论 -
信号槽相互关联,重复触发问题的解决
我有个问题,说来话长,有这样一个界面,我想实现,1 点击左侧表格项,右侧框显示表格项的内容来显示,2 当右侧修改内容时,同时,左侧表格项内容也被修改。现在遇到的问题是,点击左侧表格项时,右侧内容被修改,同时,表格项的内容修改函数也被调用。 解决方法:way 1: 应该用这个吧。以编程的方式来修改Lineedit内容,不会触发这个信号,只有原创 2015-12-16 11:27:18 · 1677 阅读 · 0 评论 -
Qt下使用QDebug打印指针地址
Qt下使用QDebug打印指针地址,是个很好用的方法。 qDebug()"parent--1"this->parent();输出为:指针的输出精确的解释了指针的物理地址(待商榷),以及指针的类型。当打印的是一个Qt的部件的时候,打印信息中会输出这个部件的ObjectName //------------------------------------------原创 2015-12-16 11:27:27 · 9379 阅读 · 0 评论 -
Qt 事件过滤器问题
Widget::Widget(QWidget *parent) : QWidget(parent){ this->resize(80,22); this->button =new QPushButton("laowang"); this->lineEdit=new QLineEdit; this->button->installEv原创 2015-12-16 11:27:38 · 730 阅读 · 0 评论 -
关于事件过滤器的问题或者是框架设计问题
是这样子一个关系,QWidget是一个控件,这个控件的内部我放了一个QTableWidget,canvas是我的编辑界面,当我在编辑界面中,点击这个控件的时候,我想选定这个控件,所以我在编辑类中写了一个事件过滤器,并且在控件在编辑界面中创建的时候进行了安装,16:06:49xiaohuoban 2015/9/17 16:06:49我在这个QWidget控件内部也写了一个事件过滤器,发现我在点击这个原创 2015-12-16 11:27:42 · 436 阅读 · 0 评论 -
QWidget使用setStyleSheet不起作用
QWidget使用setStyleSheet不起作用1 class TestWidget:public QWidget2 {3 Q_OBJECT4 public:5 TestWidget();6 ~TestWidget();7 };1 TestWidget::TestWidget()2 {3 this->resiz原创 2015-12-16 11:27:47 · 5948 阅读 · 2 评论 -
QPainter画图
如何画一个圆形始终在窗口的正中央。void Widget::paintEvent(QPaintEvent *){ QPainter *painter=new QPainter(this); painter->translate(this->width()/2,this->height()/2); int radius=100; pai原创 2015-12-16 11:28:05 · 507 阅读 · 0 评论 -
Qt中如何获取某个控件的指针地址
Qt中如何获取某个控件的指针地址,我知道C语言可以轻松的获取指针地址,不知道在Qt中是否有好的方法来获去某个部件的指针信息。求指教。原创 2015-12-16 11:28:12 · 4269 阅读 · 0 评论 -
在ubuntu下使用Qt5.4连接mysql数据库出现错误
在ubuntu下使用Qt5.4连接mysql数据库出现错误, void Widget::loadMySqlDriver(){ QPluginLoader loader; // MySQL 驱动插件的路径// loader.setFileName("/Users/Biao/Qt5.4.0/5.4/clang_64/plugins/sq原创 2015-12-16 11:28:17 · 542 阅读 · 0 评论 -
Linux Qt工程组织结构与动态库引用总结
Linux Qt工程组织结构与动态库引用,如何让自己的代码保持结构清楚。从介绍我的一个工程文件结构入手,希望对大家有所帮助。1 工程目录结构总体介绍随着自己的工程越来越大,文件越来越多,慢慢的发现各种工程文件的管理的重要性。上图是我的一个工程的目录,其中:Design 用来存放对于软件的各种设计记录,以及工作笔记。工作笔记,比如最近某天更新的那些功能,存在哪些问题需要日原创 2015-12-16 11:28:27 · 1028 阅读 · 0 评论 -
QTableWidget点击item之外空间时信号的获取
QTablewidgetItem点击item之外空间时信号的获取。在使用QTableWidget表格控件时,表格控件被设置成点选单行选择,当我点击某一行时,获取此行所有Item中的数据,当点击表格中Item之外的控件时,取消选中。要获取这个动作,来进行一些别的操作。查阅Qt助手发现官方没有提供一个成熟的信号。想实现以上需求,有两种方法,一种是自己手动更改表格控件Ta原创 2015-12-16 11:28:32 · 5652 阅读 · 3 评论 -
数字转QString格式化
1 想要获得001 002 这样的数字int i=1;QString b=QString("%1").arg(i, 3, 10, QChar('0')); QStringList list; for(int i=0;i128;i++) { list.append(QString("%1").arg(i, 3,原创 2015-12-16 11:28:43 · 18497 阅读 · 1 评论 -
Qt动态布局,多个窗口使用同一个widget如何实现。
我有一个widget想要在多个窗口中使用他在呢么做?在多个窗口的布局中使用在呢么弄?原创 2015-12-16 11:28:53 · 3267 阅读 · 1 评论 -
让QTreeWidget中单元格的大小自适应内容的长度
其实在QTableWidget and QTreeWidget 单元格的长度适应规则都是使用QHeader来控制的。 treeWidget=new QTreeWidget; QHeaderView *head=treeWidget->header(); head->setSectionResizeMode(QHeaderView::ResizeToContents);原创 2015-04-07 14:53:47 · 9812 阅读 · 1 评论 -
QModelIndex在QTableWidget中的使用
在QTableWidget中, 可以根据QTablewidgetItem的信息来获取,这个item的信息,比如所在的行列。QModelIndex indexFromItem(QTableWidgetItem * item) constQModelIndex index=indexFromItem(item1); qDebug()原创 2015-04-01 09:44:20 · 7513 阅读 · 0 评论 -
Qt窗口屏幕设置大小与居中显示
转自http://blog.sina.com.cn/s/blog_40b3edd70100ogyn.html设置窗口居中显示方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码:#include //.......QDesktopWidget* desktop = QApplication::desktop(); // =qApp->desktop();也转载 2015-03-24 09:51:15 · 1670 阅读 · 0 评论 -
Qt4简单程序依赖库文件查找
Qt4简单程序发布Qt4编译好程序release版本放到一个单独的文件夹中使用depends.exe加载exe文件将关联的文件通过everything软件找到手动复制到当前目录中。双击编译出来的程序,提示:通过咨询网友,搜索网页,不存在软件位数与库位数不对应的问题。后来发现少拷贝了depends软件中提示的库 LIBWINPTHREAD-1.DLL查找、拷贝后,程序可以运行...原创 2019-05-09 08:45:05 · 824 阅读 · 0 评论 -
windows+Qt5.12 QSqlDatabase缺少驱动
windows平台Qt5.12 QSqlDatabase代码运行缺少MYSQL驱动。Qt MYSQL驱动是在libmysql.dll基础至上封装的,所以要连接mysql必须要使用libmysql.dll。可以到mysql官网下载connector c包,里面有libmysql.dll。在这里我是用的是mysql-connector-c-6.1.11-winx64。可以点此下载。解压后,将...原创 2019-04-12 20:13:29 · 658 阅读 · 0 评论 -
通过查看Qt源码,了解QML部件的属性以信号
一般的QML部件都有与之对应的cpp类。QML部件的属性以及信号都可以从Qt assistant中查询,但是助手中的文档对于属性以及信号的解释并不完整。我们可以通过查看源码的方式来查看cpp类中的属性和信号。通过在qml中输出部件的id的方式来获取对应cpp文件的名字。 Repeater{ id:repeater// model:...原创 2019-03-28 09:24:18 · 1091 阅读 · 0 评论 -
Qt QML代码中添加ChartView程序崩溃问题解决
Qt QML代码中添加ChartView程序崩溃问题解决pro文件种已经添加charts模块QT += quick charts程序运行崩溃。解决方法:把main.cpp函数中,QGuiApplication app(argc, argv);改成QApplication app(argc, argv);...原创 2019-03-08 12:34:22 · 2398 阅读 · 3 评论 -
can't open! "[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 QODBC3: Unable to connect"
windows平台,使用Qt +ODBC连接数据库报错:can't open! "[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 QODBC3: Unable to connect"问题原因: 原来这个databasename指的是图1中的1,我原来以为是2. ...原创 2019-02-26 13:25:08 · 4371 阅读 · 6 评论 -
qt延时程序
QTime time; QDateTime datetime; for(int i=0;i<10;++i) { qDebug()<<QDateTime::currentDateTime().toString("hh:mm:ss.zzz"); time.start(); while(time.elapsed()<1000);原创 2017-12-19 10:31:58 · 336 阅读 · 0 评论 -
类似策略模式,Qt实现动态函数调用
类似策略模式,Qt实现动态函数调用#ifndef LISTBASEWIDGET_H#define LISTBASEWIDGET_H#include #include #include static const int MAX_PTR=10;//基类class BaseWidget:public QWidget{ Q_OBJECTpublic: expl原创 2017-12-18 15:07:38 · 898 阅读 · 0 评论 -
Qt子窗体关闭时,不执行析构函数
子窗体的构造函数中初始化了父窗体的parent,当关闭子窗体时不会调用析构函数,只有关闭父窗体时,才会调用子窗体的析构函数,解决办法如下setAttribute(Qt::WA_DeleteOnClose);写在子窗体的构造函数就可以了~转载 2014-10-15 12:27:08 · 4469 阅读 · 1 评论 -
从 Qt 的 delete 说开来
在C++中学习过程中,我们都知道:delete 和 new 必须 配对使用(一 一对应):delete少了,则内存泄露,多了麻烦更大。Qt作为C++的库,显然是不会违背C++的前述原则的。可是:在Qt中,我们很多时候都疯狂地用new,却很少用delete,缺少的 delete 去哪儿了?!注:本文暂不涉及智能指针(smart pointer)相关的东西,你可以考虑转载 2014-10-21 22:52:13 · 543 阅读 · 0 评论 -
滚动条
//强制滚动条总可见 水平scrollArea.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);原创 2014-10-28 22:47:44 · 401 阅读 · 0 评论 -
layout设置MARGIN
background_layout->setContentsMargins(0, 10, 0, 10);原创 2014-11-06 13:55:02 · 846 阅读 · 0 评论 -
QT 什么时候应用setAutoFillBackground
当使用QPalette为窗口设定背景并使用QPalette::Window时必须调用setAutoFillBackground(true)!!!转载 2015-01-04 15:59:02 · 3985 阅读 · 0 评论 -
Qt经典出错信息之undefined reference to `vtable for classn
这个出错信息太常见了,用过Qt两个月以上的朋友基本上都能自己解决了,因为太经典了,可以给新手参考。出错信息一般类似:undefined reference to `vtable for classname MyWidget`在执行make命令后出现。出错原因是在定义类的时候为了能使用signals和slot,在类定义的后面加了Q_OBJECT引起。 因为Q_OBJECT是一个宏转载 2015-03-19 10:52:43 · 460 阅读 · 0 评论 -
C++ foreach
C++ foreach考虑下面的需求,对vector中的每个元素加1,如何做?1 void add(int& lhs) // 注意:要修改主调方法中的数据,这里要使用引用2 {3 lhs= lhs + 1;4 }5 int intArray[] = {1,2,3,4,5};6 vector intVector(intArray,intArray+5); 1、转载 2015-03-20 10:15:45 · 1527 阅读 · 0 评论 -
什么是Qt的代理QItemDelegate_Spin Box Delegate Example例子分析
什么是Qt MVC代理 图1 显示的是我们看到表格正常显示的样子。 图2 当在单元个上双击,显示的是在此单元格上设置的代理。这里代理是一个Spinbox,这个Spinbox会读取当前单元格的内容,覆盖在当前单元格之上,并且提供编辑功能,当用户编辑完成之后,比如,修改了Spinbox的数字后,点击此单元格意外的地方,代理消失,把代理修改的参数设置到原创 2016-01-21 11:20:23 · 3388 阅读 · 0 评论 -
QTextEdit实现语法高亮-Syntax Highlighter Example例子简单介绍
QTextEdit实现语法高亮,Qt提供了一个类了QSyntaxHighlighter ,The QSyntaxHighlighter class allows you to define syntax highlighting rules, and in addition you can use the class to query a document's current format原创 2016-01-28 12:41:33 · 4402 阅读 · 0 评论 -
Qt窗口主题样式切换功能
QStyle类是一个抽象基类,将GUI的外观和感官封装在内部。Qt包含了一组QStyle子类,来模仿不同平台。这些样式都被编译进了QtGui动态库中,这些样式同样可以被作为插件来使用。Qt内建的窗口用QStyle来绘制它的窗口,使他们外观自然接近。下面是一个简单例子的介绍。 这里使用QStyleFactory提供的静态函数来获取支持的主题名称,QS原创 2016-02-01 12:10:26 · 6254 阅读 · 0 评论 -
QWidget rect和geometry的区别
QWidget rect和geometry的区别通过查看Qt源码而知这两个接口虽然返回值都是QRect但是rect的返回值删掉了部件的左上点的坐标位置,所以平时使用是应该注意。原创 2016-02-15 16:37:29 · 5459 阅读 · 2 评论 -
Qt拖拽事件小结
Qt拖拽事件可以通过帮助里面的几个例子可以很好的理解。这里拿前段时间遇到的一个问题来讲解一下对于拖拽事件的以及Qt部件的一些理解。左侧有两个QTextEdit,右侧是一个QListWidget,里面列举了一些颜色名称,想要实现的拖拽动作是通过点选拖拽右侧QListWidget中的内容,拖放到左侧的QTextEdit中。代码实现思路有两种,第一种,继承QTex原创 2016-02-15 16:04:22 · 8272 阅读 · 1 评论 -
QtDesigner向toolBar中添加action
点击新建action按钮编辑新的action后,不知道怎么添加到toolBar中,搜索了网上博客才知道,需要手动托拽新的action放到界面的toolbar中。原创 2016-01-06 15:29:53 · 6023 阅读 · 3 评论 -
QtDesigner修改了ui文件后,程序运行不是修改后的内容。
QtDesigner修改了ui文件后,程序运行不是修改后的内容。把影子文件删掉重新编译工程仍然不行,通过向群里的朋友询问得到了结论。删除掉代码目录下的ui_***.h文件后,重新编译工程就能解决。原创 2016-01-06 15:12:24 · 2010 阅读 · 1 评论 -
对于Qt界面类结构与数据复制存放问题总结
对于Qt界面类结构与数据复制存放问题总结,标题有点大,这里只记录自己的一点心得总结。1 某次看到同事代码中将界面类(Widget)与该界面中的数据分离开。这种方式适用于界面类被重复使用,且各种情况对于界面的修改都不是很大,只是需要界面上的某些数据多样的时候,这种设计结构能很好的解决上面的需求。一般的情况下,特殊的界面类没必要把界面上的数据分离到另外一个单独的类中。2 界原创 2015-12-30 13:32:31 · 1464 阅读 · 0 评论