![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
爱上解放晚晚
开启大神之路
展开
-
QT设置两个CheckBox达到互斥效果
C++原创 2023-03-06 15:23:45 · 1088 阅读 · 1 评论 -
Qt实用技巧
sender的用法你在一个槽里面,调用这个函数,返回的就是你信号来源的对象;QPushButton *aaaa = new QPushButton(this);比如 connect(aaaaa, SIGNAL(Click()), this, SLOT(Onaaaaa());void Onaaaaa(){QPushButton ccc = (QPushButton) sender();}这个CCC就是aaaa这个对象来的...原创 2022-04-22 10:13:03 · 300 阅读 · 0 评论 -
QT路径中斜杠转换
1.斜杠转换Windows下使用的是反斜杠"\"。Linux下使用的是正斜杠"/"/转\(斜杠转反斜杠)QString path = "C:/temp/test.txt"; path = QDir::toNativeSeparators(path); \\ "C:\\temp\\test.txt"\转/(反斜杠转斜杠)QString path = "C:/temp/test.txt"; path.replace("/","\\"); \\ "C:\\temp\\test.txt"原创 2022-03-03 17:01:21 · 1147 阅读 · 0 评论 -
QT操作Excel
在具体操作之前,我们先了解一下excel的层次结构,如图所示,Application对象–>Workbook对象–>Worksheet对象–>Range对象。1个excel有一个Application对象,1个Application对象有多个workbook对象组成,这些workbook对象由workbooks对象统一管理,workbook对象下包含若干个worksheet,这些worksheet对象由worksheets对象统一管理,worksheet下面的range对象,对应这wor原创 2022-02-25 15:00:30 · 7243 阅读 · 1 评论 -
VS中使用QT进行中英文翻译
https://blog.csdn.net/u012803067/article/details/79441869原创 2022-01-05 16:56:00 · 756 阅读 · 0 评论 -
Qt lnk1181 无法打开输入文件 .obj
在Qt编译时,总是报这个错,原因是项目的根目录中包含了空格才会报这个错,把项目路径中的所有的空格删除就好了;————————————————版权声明:本文为CSDN博主「liukun0928」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/liukun0928/article/details/89814418...转载 2021-12-03 15:22:18 · 923 阅读 · 3 评论 -
QWT使用注意事项
1.QWT不能像QChart在多线程中刷新图形数据,可以使用定时器原创 2021-10-26 16:52:54 · 243 阅读 · 0 评论 -
qwt的安装配置
https://blog.csdn.net/xue745146527/article/details/79405857转载 2021-10-15 14:12:22 · 73 阅读 · 0 评论 -
设置QComboBox的下拉高度
m_comboValue->setMinimumHeight(30); m_comboValue->setStyleSheet("QComboBox { min-height: 30px; min-width: 60px; }" "QComboBox QAbstractItemView::item { min-height: 30px; min-width: 60px; }"); //m_comboValue->setEditable(true);原创 2021-10-12 13:34:18 · 787 阅读 · 0 评论 -
QTabWidget设置背景颜色不彻底的解决办法
//设置颜色QString css("QWidget{background-color:lightgray;}");m_codeTabWidget->SetBackGroundColor(css);//子控件设置背景色void CodeTabWidget::SetBackGroundColor(const QString& css){ this->setStyleSheet(css); QMap<QString, QWidget*>::iterat原创 2021-10-09 10:02:20 · 1265 阅读 · 0 评论 -
QT打开文件及文件路径
获取文件夹路径static QString getExistingDirectory(QWidget *parent = Q_NULLPTR,const QString &caption = QString(),const QString &dir = QString(),Options options = ShowDirsOnly);参数1:父窗口参数2:弹出界面的菜单栏文字参数3:打开的初始目录 比如“/”表示根目录使用方法void Widget::on_openSrc转载 2021-09-28 13:33:54 · 10009 阅读 · 0 评论 -
QTabWidget设置标头颜色
TabWidget::TabWidget(QWidget *parent): QTabWidget(parent),mousePressFlag(false){ bar=tabBar(); QPalette palette; bar->installEventFilter(this); palette.setColor(QPalette::Active,QPalette::Button ,QColor(0,0,255)); bar->setPalette(palette); b原创 2021-09-28 13:28:00 · 3804 阅读 · 0 评论 -
完善QT的Dll的消息循环
在每次调出界面以后,调用qApp的exec;可多次重复调用//显示窗口时,调用exectheDataService.GetDataShower()->Show();theDataService.IntoCurvExec();//初始化显示时,调用execInitDataShower();theDataService.IntoCurvExec();//qApp的导出函数extern "C" __declspec(dllexport) void IntoExec(){ qAp原创 2021-09-17 18:05:30 · 224 阅读 · 0 评论 -
依据控件类型排列界面
/*//生成Tab页界面,依据控件类型配置界面bool Widget::CreateTabPageDlg(struct ys::alg_param_set &sAlgParamSet, vector<s_CodeTabStruct> &vecCodeTabStruct){ struct ys::alg_param_set *pAlgParamSet = &sAlgParamSet; s_CodeTabStruct sCodeTabStruct;原创 2021-09-17 09:35:05 · 74 阅读 · 0 评论 -
QT日志文件
/* 日志类,提供日志打印和日志文件写入 */#ifndef LOGABLE_H#define LOGABLE_H#include <QFile>#include <QDebug>#include <QMessageBox>#include <QVariantList>#include "commonStruct.h"enum LOGLEVEL{ LOG_DEBUG = 0, /**< De原创 2021-09-10 10:30:26 · 366 阅读 · 0 评论 -
QT设置多行显示字体颜色
//设置显示内容void PicWidget::SetText(QString strA, QString strB, bool bRight){ if(bRight) { strA = "<font color=blue>" + strA + "</font>"; strA = "<font size =40>" + strA + "</font>"; strA = "<strong>原创 2021-09-09 18:02:07 · 380 阅读 · 0 评论 -
QT接收MFC的消息注意事项
1.“Camera param setting” 代表的是Title名称CWnd *pWnd = CWnd::FindWindow(NULL, _T("Camera param setting")); if (pWnd == NULL) { AfxMessageBox(_T("no find DataRecv")); return; }2.与QT的Title对应setWindowTitle("Camera param setting");4.实现代码MFCvoid CICPWr原创 2021-08-25 11:14:38 · 481 阅读 · 0 评论 -
QT设置透明窗体
1.边框透明窗体可以实现,但是Halcon图像无法显示//设不设效果一样//setAutoFillBackground(false); //需要去掉标题栏this->setWindowFlags(Qt::FramelessWindowHint);this->setAttribute(Qt::WA_TranslucentBackground, true);void BackGroundWidget::paintEvent(QPaintEvent * event){ QPa原创 2021-07-30 17:38:55 · 403 阅读 · 2 评论 -
拷贝内存操作
//memcpy(info.pImageBuf, pImgBufR, stNewGrabImg.nImageWidth * stNewGrabImg.nImageHeight); //memcpy(info.pImageBuf + stNewGrabImg.nImageWidth * stNewGrabImg.nImageHeight, pImgBufG, stNewGrabImg.nImageWidth * stNewGrabImg.nImageHeight); //m...原创 2021-07-13 10:31:10 · 161 阅读 · 0 评论 -
解决QT控件部分显示时被覆盖
创建控件的顺序会决定哪个控件在上面,默认后创建的在上面原创 2021-07-08 15:20:45 · 2187 阅读 · 0 评论 -
自动创建多级目录
代码简单,使用递归创建多级目录/** * @brief mkMutiDir 创建多级目录 * @param path 未创建的目录 * @return 返回已创建的目录 */QString mkMutiDir(const QString path){ QDir dir(path); if ( dir.exists(path)){ return path; } QString parentDir = mkMutiDir(pa原创 2021-07-08 15:18:11 · 371 阅读 · 0 评论 -
读取.ini文件乱码的解决办法
void CGetConfigInfo::GetValueByKey(QSettings *seting, const QString &key, QString &value){ if(seting != nullptr) { value = seting->value(key).toString(); }}void CGetConfigInfo::GetValueByKey(QString path, const QString &a原创 2021-07-07 16:54:56 · 5011 阅读 · 0 评论 -
最近遇到的深坑总结
1)Halcon打开窗口失败原因代码在别的地方是这样写的SetCheck("~father");OpenWindow();//此处省略参数SetCheck("father");需屏蔽掉两行//SetCheck("~father");OpenWindow();//此处省略参数//SetCheck("father");自己的代码如下 HalconCpp::SetCheck("~give_error"); Herror error_num; try {原创 2021-07-07 14:50:38 · 184 阅读 · 0 评论 -
打印调试信息
/* if(pParam->id == 74 || pParam->id == 75 || pParam->id == 76 || pParam->id == 77) { qDebug() << QString("////////////////////////////////////////") + QString("name:") + QString::fromL.原创 2021-06-30 13:03:19 · 54 阅读 · 0 评论 -
使用QTDLL调试注意的事项
1.使用QTdll调试的话如果是默认文件路劲,是指.pro所在的路径下原创 2021-06-18 17:41:36 · 208 阅读 · 0 评论 -
字符串去掉双引号
//按钮中触发信号void MainWindow::on_pushButton_clicked(){ QString str =ui->lineEdit_2->text(); QString str1 =str.replace("\"",""); ui->lineEdit_3->setText(str1);}原创 2021-06-18 17:01:01 · 981 阅读 · 0 评论 -
解析结构体生成界面遇到的坑
1.需要注意尽量不要数据转换unsigned long long2.添加为空指针判断if(pControl == nullptr)continue;for(unsigned long long i=0; i<size; i++) { pParam = &sParamSet.params.at(i); //生成基础控件 ys::ctrl_tpye eCtrlType; BaseControl * pControl原创 2021-06-18 16:10:55 · 84 阅读 · 0 评论 -
解决调用的DLL窗口销毁更新其指针的方法
1.使用静态变量,更新窗口关闭状态,.h中声明static bool m_bClosed;2.静态变量初始化,需要放在类外(注意)//标记当前状态bool Widget::m_bClosed = false;3.构造函数中,每次更新窗口打开标识 //标记窗口打开 m_bClosed = false; //窗口销毁时更新窗口关闭标记 connect(this, &QWidget::destroyed, [=]() { m_bClosed原创 2021-06-01 18:11:45 · 110 阅读 · 0 评论 -
QT自绘标题栏,可拖动
#include "topwidget.h"#include <QGridLayout>#include <QDebug>#include <QMouseEvent>#pragma execution_character_set("utf-8")TopWidget::TopWidget(QWidget *parent ) : QWidget(parent){ //初始化界面 this->resize(1200, 25); m_pa原创 2021-06-01 15:25:47 · 237 阅读 · 0 评论 -
点击QT自带的关闭按钮,窗体隐藏,但是再显示的时候内部控件确不见了
如果只用hide和close是没问题的// QToolButton *m_hidBtn = new QToolButton(this);// m_hidBtn->setText("HIDE");// connect(m_hidBtn, &QToolButton::clicked, this, &QWidget::hide);// QToolButton *m_closeBtn = new QToolButton(this);// m_closeB原创 2021-05-31 17:54:10 · 673 阅读 · 0 评论 -
dll添加启动动画
1.头文件#include <QSplashScreen>#include <QPixmap>2.DllMainBOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ ){ static bool ownApplication = FALSE; if ( dwReason == DLL_PROCESS_ATTACH ) ownApplication原创 2021-05-31 14:31:44 · 88 阅读 · 0 评论 -
Mfc消息响应
ON_NOTIFY_RANGE ,(注意TRBN_THUMBPOSCHANGING,滑动条位置改变)ON_NOTIFY_RANGE(TRBN_THUMBPOSCHANGING, IDC_SLIDER_SEARCHY, IDC_SLIDER_EDGEGRAY, OnScrollFun)void OnScrollFun(UINT nID, NMHDR *pNotifyStruct, LRESULT *result){ if(nID == IDC_SLIDER_MATCHTHRESH) { .原创 2021-05-26 15:30:35 · 426 阅读 · 0 评论 -
共享内存传输结构体数据
共享内存主要是通过映射机制实现的。 Windows 下进程的地址空间在逻辑上是相互隔离的,但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping 创建命名的内存映射文件对象时,Windows 即在物理内存申请一块指定大小的内存区域,返回文件映射对象的句柄 hMap。为了能够访问这块内存区域必须调用 MapViewOfFile 函数,促使 Windows 将此内存空间映射到进程的地址空间中。当在其他进程访问这块内存区域时,则必须使用OpenFi转载 2021-05-25 14:02:42 · 1042 阅读 · 0 评论 -
QT设置启动画面
#include int main(int argc, char *argv[]){ QApplication a(argc, argv); //检查程序是否 已经启动过 if(checkOnly()==false) return 0; //设置启动画面 QPixmap pixmap(":/start.jpg"); QSplashScreen screen(pixmap); screen.show(); a.processEvents原创 2021-05-24 18:12:22 · 179 阅读 · 0 评论 -
防止程序重复启动
QT版最近在做一个项目,添加了一个功能:防止一个程序能够重复启动。包括Windows平台和Linux平台,其中Q_OS_WIN32宏用来表示编译运行的目标平台是windows,Q_OS_LINUX则标示目标为linux。实现的思想是:对windows和linux分别采取了全局互斥变量和文件锁的方法。————————————————版权声明:本文为CSDN博主「m沉默01」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn转载 2021-05-24 16:59:18 · 426 阅读 · 0 评论 -
调用.exe遇到的问题
std::wstring wstrApp;//打开窗口wstrApp = _T("D:\\wwwCoding\\DHCodeCheckRun\\DHCodeCheck.exe");ShellExecute(NULL, _T("open"), wstrApp.c_str(), NULL, NULL, SW_SHOWNORMAL);//打开窗口ShellExecute(this->m_hWnd, _T("open"), _T("D:\\wwwCoding\\DHCodeCheckRun\\D原创 2021-05-24 15:42:46 · 74 阅读 · 0 评论 -
QT窗口置顶
m_rectMask = new QLabel();1.临时置顶m_rectMask->setWindowFlags(m_rectMask->windowFlags() & ~Qt::WindowStaysOnTopHint);2.永久置顶m_rectMask->setWindowFlags(m_rectMask->windowFlags() | Qt::WindowStaysOnTopHint);3.可以配合信息过滤 m_rectMask->setA原创 2021-05-21 11:27:45 · 509 阅读 · 0 评论 -
QT在软件调试过程中,软件莫名奇妙奔溃
解决方案:点击重新构建所有项目原创 2021-05-21 11:07:02 · 325 阅读 · 0 评论 -
Halcon绘制矩形
Herror error_num; HTuple Rect_ID; try { //绘制矩形 //HalconCpp::GenRectangle1(&m_rectAngle, ltoprow, ltopcol, rbottomrow, rbottomcol); //HalconCpp::DispObj(m_rectAngle, m_hHalconID); //HalconCpp::DispRegion(m_re...原创 2021-05-21 11:03:33 · 4615 阅读 · 1 评论 -
类型转换
1.reinterpret_cast<>内存拷贝类型转换,不安全2.dynamic_cast<>常用于多态类型转换,如将子类转化为父类,进行安全性检查,若不可以转化,赋值03.const_cast<>用与将const变量转化为非const, 去除其const属性4.static_cast<>可以理解为默认的数据转化类型,也可将非const变量转化为const变量NULL是宏定义0,可以赋值给指针,也可以赋值给变量nullptr带表空指针,只原创 2021-05-21 09:15:55 · 54 阅读 · 0 评论