自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 C++调用C#函数

class Program{ public delegate int dele_async(int a); static void Main(string[] args) { dele_async dele_method = new dele_async(Executefunc); //委托方法实例化以后有Invoke和BeginInvoke方法,Invoke是同步调用,BeginInvoke是异步等待。 //int result.

2022-05-06 17:15:18 48

原创 QAxObject清除excel进程的方法

1.直接在主线程中使用,不要使用多线程2.多线程中使用:1.使用局部变量,程序会自动释放//多线程必须初始化CoInitializeEx(NULL, COINIT_MULTITHREADED);QAxObject excel("Excel.Application");//使用局部变量,程序执行完会自动释放资源。任务管理器中将不会存在Excel进程QAxObject *work_books = excel.querySubObject("WorkBooks");work...

2022-03-16 15:03:08 945

原创 QAxObject合并单元格

...QAxObject *sheet = workbook->querySubObject("ActiveSheet"); //指向当前活动表格...//设置单元格范围,合并单元格QAxObject *range=sheet->querySubObject("Range(const Qvariant&)", QVariant("=(A1: D1)"));range->setProperty("VerticalAlignment", -4108);//xlCent.

2022-03-15 15:34:17 775

原创 Qt显示调用dll库失败

原因:cpp 导出函数时改造了函数名,如果在前面加上 extern c"" ,就不会改造函数名。#include "dll_global.h"class DLLSHARED_EXPORT DLL{public: DLL();};extern "C" DLLSHARED_EXPORT int add(int a,int b);#include "dll.h"DLL::DLL(){}int add(int a,int b){ return a+b;

2022-03-09 20:04:22 1260

原创 qt数据库连接

1.前提条件:vs版本,qt插件必须是配套的(比如qt两个插件必须是2015版本的)程序编译的位数,qt的位数,数据库位数必须一致环境必须严格配对,32位和64位必须一致2.从MySQL安装目录中找出libmysql.dll放到qt的bin目录下无需编译mysql.pro,除非是低版本的qt...

2022-03-04 18:15:48 618

原创 Qthread

m_thread=new QThread;m_objThread=new MyThread;m_objThread->moveToThread(m_thread);connect(ui->btn_add,&QPushButton::clicked,m_objThread,&MyThread::slot_add,Qt::DirectConnection);m_thread->start();主线程Id 0x3500MyThread的线程Id 0x3500.

2021-09-13 11:02:41 172

原创 多线程使用场景

1.程序开启时,可以创建一个读线程去读数据2.网络通信时,可以创建读写线程去收发指令3.程序中出现密集型运算时,可以单独创建线程处理4.前后端分离时,可以创建一个线程去处理数据5.多任务时,可以采用多线程...

2021-09-09 14:50:21 775

原创 Qt嵌入外部窗口

1.提升控件2.通过layout->addWidget()的方式将自定义控件嵌入进来3.通过setParent的方式

2021-09-02 16:12:46 1163

原创 Qt打印图片模糊的问题

原因:图片缩放导至分辨率下降解决方法:首先将图片放大。如果是对界面截图的话,可以先将界面放大再截图。 然后打印。

2021-08-27 17:24:42 1069

原创 Qt信号槽注意事项

1.connect内部的信号槽可以有参数类型,但是不能带参数。connect(a,&A::set(QString),b,&B::get(QString));2.注意信号槽和调用信号槽的顺序。3.信号槽只能绑定一次。建议将信号槽放到类的初始化方法中。...

2021-08-21 11:00:28 186

原创 moveToThread创建并开启多线程

#ifndef READFILE_H#define READFILE_H#include <QtGui/QMainWindow>#include "ui_readfile.h"#include "DataFile.h"#include <QThread>class ReadFile : public QMainWindow{ Q_OBJECTpublic: ReadFile(QWidget *parent = 0, Qt::WFlags flags = 0.

2020-11-12 16:18:23 307 2

原创 QT右键菜单无响应

ui.treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);看看是否漏写了这句代码。

2020-11-01 11:45:42 941 1

原创 qt上下翻页问题

#ifndef SWITCHPAGE_H#define SWITCHPAGE_H#include <QtGui/QMainWindow>#include "ui_switchpage.h"#include <QList>class switchPage : public QMainWindow{ Q_OBJECTpublic: switchPage(QWidget *parent = 0, Qt::WFlags flags = 0); ~switchPag.

2020-10-16 10:20:29 645

原创 Qt全屏

if(ui->frame->isFullScreen()){ ui->frame->setWindowFlags(Qt::SubWindow); ui->frame->showNormal();}else{ ui->frame->setWindowFlags(Qt::Window); ui->frame->showFullScreen();}以上为主要代码。如果有退出全屏后部件成为一个独立的窗口.

2020-08-03 10:11:01 196

原创 Qt控件长度为100,宽度为30

问题产生原因:界面未初始化,所有控件长宽暂时未固定,所有控件长度固定为100,宽度固定为30。部分控件大小可能就是100,30.这就造成部分控件大小不匹配问题解决方法:方法1.等待界面完全初始化后再去设置所选控件大小方法2.使用布局,在布局中加入该控件,控件大小由布局决定...

2020-07-23 15:40:19 1926 1

原创 VMware问题

1.VMware提示以独占方式锁定此文件失败。另一个正在运行的vmware进程可能正在使用配置文件win+r键进入运行,输入MSConfig,再点击服务。禁用除Microsoft之外的所有服务,然后应用。重启后,再用同样的方式打开所有的服务。2.该虚拟机正在使用中,请获得所有权将该虚拟机磁盘文件所在的文件夹中的后缀名为.lck的文件夹继续加上.backup...

2020-07-15 11:02:05 124

原创 QInputDialog以及QMessageBox设置按钮为中文

QInputDialogQInputDialog* inputDialog=new QInputDialog(this);inputDialog->setWindowTitle("提示");inputDialog->setLabelText("姓名:");inputDialog->setOkButtonText("确定");inputDialog->setCancelButtonText("取消");bool ok;if(inputDialog->exec()

2020-06-29 11:24:24 1798 2

原创 解决QLineEdit闪烁

1.自定义搜索框2.使用QPixmap贴图或者直接设置border-image皆可3.弄好后会发现鼠标进出编辑框,会闪光。解决:设置border:none即可。

2020-06-19 16:07:23 702

原创 QTreeWidget------每次更新会自动定位到上次的节点位置上

目前试过十余种方法:1.ui.treeWidget->expand(QModelIndex)ui.treeWidget->selectionModel->selectedIndex();结果:失败。QModelIndex始终为0,02.targetItem=originitem->clone()ui.treeWidget->expand(QWidgetItem)结果:失败。treeWidgetItem居然是拖家带口的,无论=,还是clone都没法让新的i

2020-06-04 14:08:07 1343

原创 VS2008打包发布exe程序

1.新建项目2.项目输出3.保存。4.在保存的路径中会发现EXE文件。打开会发现遇到缺少Qtcored4.dll等等错误。解决方法:将该EXE文件复制到qt的安装文件夹/bin中,再度运行即可。

2020-05-28 11:14:56 1149 2

原创 Qt信号槽连接失效

1.在connect(a,SIGNAL(int a,int b),this,slot(int a,int b))信号槽中加入了形参2.将槽函数放在普通函数声明中了3.使用了自定义的类型,如类,list等等解决:首先注册,加入头文件#include <QMetaType>;qRegisterMetaType<QList<QString> > ("QList<double>");(connect之前注册)...

2020-05-17 17:04:52 800

原创 QTableWidget信号itemChanged

使用过itemchanged信号的肯定知道,即使没有对表格中的内容进行修改也会发送itemChanged信号,如果在循环判断语句中出现,那可能会造成死循环。对此只有使用间接的方法:首先创建一个标志flag为false。然后在ItemDoubleClicked信号槽中将此置为true,这样就说明已经对表格进行修改了,接着在itemChanged信号槽中对flag进行判断,false则返回,true则继续执行。当然这也是借鉴了别人的想法。...

2020-05-11 16:50:19 10835 2

原创 QTableWidget无法获取表格值

有两个原因:1.QTableWidgetItem *item = new QTableWidgetItem(str);//每个单元格的值都要单独申请new2.不能使用itemAt((row,column)),那样的话只会取到第一行第一列的数据。应该使用item(row,column)。...

2020-04-28 10:25:37 622

原创 秒转时间

int tempOnlineTime=3697485;int oneHour=60*60;int oneMinute=60;int coverHour=tempOnlineTime/oneHour;//时int coverMinute=tempOnlineTime%coverHour/oneMinute;//分int coverSecond=tempOnlineTime%cover...

2020-04-19 14:29:12 129

原创 如何将网格布局中的内容放置到指定位置Qt

怎么将1---->A2---->B3---->C4---->D如果直接将1234用网格布局,肯定会在中间显示。所以需要设置两个属性即Qt::AlignLeft|Qt::AlignTop和setStretch()代码如下QGridLayout* grid1=new QGridLayout(this);QGridLayout* grid2=n...

2020-04-13 12:21:47 846

原创 Qt之tcp实现获取服务器端数据并实时显示在客户端

任务:在客户端发送消息到服务器端,然后获取服务器端数据并解析返回客户端以列表形式显示。1.首先连接服务器2.点击添加按钮,使用信号槽发送消息,比如socket.write()函数等等3.接收到数据,再将该数据交给专门的函数去处理。不要想着在按钮事件中处理,那不可能实现,因为按钮事件和消息发送时同时的,等到按钮事件执行完,可能还没有收到消息,更别说去处理返回的消息了。4.每点击一次添...

2020-04-03 16:49:57 4003 1

原创 hjson第三方库的简单使用

void className::write(*data){ Json::Value Element1; Json::Value Element2; QFile file("test.json"); if(!file.open(QFile::WriteOnly|QFile::Truncate)) return; //处理数据Element2["Name"] = HCo...

2020-03-31 17:19:49 566

原创 如何在dialog对象初始化完之后还能设置dialog中的内容

1.在widget类中初始化一个dialogm_wDialog=new xDialog(this);2.在dialog类中创建一个QLabel对象,用于接收该dialog界面中的QLabel控件QLabel* m_dlabel=ui.label;3.然后在widget类中设置dialog类中的内容m_wDialog->label->setText("content"...

2020-03-18 15:44:23 260

原创 Qt界面控件设置异常:0xC0000005: 读取位置 0xcdcdcdd1 时发生访问冲突

.exe 中的 0x7a97a5ea 处最可能的异常: 0xC0000005: 读取位置 0xcdcdcdd1 时发生访问冲突:可能的原因:将ui.控件名写到ui.setupUi(this);前面去了。ui.btn->setText(QString("用户名"));........//中间代码段ui.setupUi(this);如果写到前面就会发生0xC0000005: 读...

2020-03-18 14:16:43 5194

原创 QSS之border-radius失效

如果这样写是错误的:border-bottom-radius:6px;//如果只想写这一句代码就要实现底部圆角会无效必须要分开写:border-bottom-left-radius:6px;border-bottom-right-radius:6px;...

2020-03-17 17:53:49 1112

原创 QT自定义标题框以及设计窗口四周圆角

基本思路:创建一个widget,加入QLabel控件和QPushBtton控件即可。1.创建自定义标题框类titleWidget类,在UI设计师界面拖拽出以下图形2.实现窗口关闭connect(ui.btnClose,SIGNAL(clicked()),this,SLOT(windowClose()));void className::windowClose(){ QWidg...

2020-03-16 16:21:38 972 1

原创 Qt设置样式(qtableview)

1.在代码特定位置插入样式:this->setStyleSheet( "QPushButton#btn_one,QPushButton#btn_two{ background-color:yellow;//设置背景色 font-family:SimSun;//设置字体 color:black;//设...

2020-03-15 11:01:21 4893

原创 Linux和Windows实现文件夹共享

实现共享共享共有三种方式:1.SSHD2.Samba服务3.安装VMtools其中VMtools最简单,步骤:1.选择打开的虚拟机,右击属性---->设置------>选项------>共享文件夹(此时共享文件夹不能使用)2.接着选择VMware上方的虚拟机选项------>安装VMware Tools(T)...------->3.切换成...

2020-03-01 17:18:12 412

原创 FFMpeg解码流程以及相关函数

2020-02-26 11:28:35 61

原创 qt下载地址

qt5.4各版本下载地址http://download.qt-project.org/archive/qt/5.4/5.4.0/Qt VS开发插件下载地址:http://download.qt.io/archive/vsaddin/

2020-02-22 11:47:51 177

原创 如何在窗口的画布上画图

任务:指定当前窗口作为画板,在画板上面铺上一张画布,然后在画布上继续画线。也就是重叠画。//painter1画出画布,painter2画线QPainter painter1(this);QRect rect(0,0,this->width(),this->height());QPixmap pix(rect.width(),rect.height());pix.fill(...

2019-12-04 15:36:33 813

原创 如何获取QTableWidget、QListWidget选中行的行号

foreach(QModelIndex index,ui->tableWidget->selectionModel()->selectedIndexes()){ qDebug()<<"index.row()"<<index.row();}注意:选中行后可以采取点击任意按钮的方式获取选中行。比如选中一些行,然后点击确定按钮。在确定按钮...

2019-11-20 10:30:56 8464

原创 cannot convert 'const 类名' to '类名*'

发生这种情况应该考虑(类名*)为指针,它是一个地址。取出地址的值应该使用取地址符&。同时应该类名前加上const

2019-10-01 16:07:15 7045

原创 multiple definition of `qMain(int, char**)'错误该怎么处理!

原因:在.pro文件中重复使用了一些文件

2019-09-27 12:40:35 1476 1

原创 QT应用程序随设备分辨率的调整

设计一个简化版的调整分辨率的QT程序,读者可以自己根据需要修改,这里主要说明思路思路:(比如要将电脑桌面上开发的qt程序应用到机器设备上) 1.首先获取设备的宽和高(也就是分辨率) 2.然后计算设备和电脑桌面分辨率的比例 3.循环遍历应用中每个控件(因为大部分都是窗口控件) 4.为每个控件设置新的宽...

2019-09-21 12:05:42 2289

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除