
GUI
MFC/QT
捕鲸叉
C++软件架构与开发工程师 擅长Windows/Linux/Macos 和Arm/STM32下C++软件开发,熟悉QT/MFC/STL/BOOST/VTK/ITK等开发库,熟悉应用程序与设备驱动程序(内核)开发
展开
-
MacOS Catalina 从源码构建Qt6.2开发库之02: 配置QtCreator
Kits选入CLang原创 2024-09-24 11:38:46 · 536 阅读 · 0 评论 -
使用QT绘制简单的动态数据折线图
下面这个示例代码中,定时器每隔一段时间将曲线图中的数据点向右移动 一个单位,同时调整横坐标轴的范围,实现了一次滚动对应移动一个数据点的效果。QLineSeries最多容纳4096+1024个点。两个核心类时QChart和QLineSeries。原创 2024-06-12 18:28:04 · 1480 阅读 · 0 评论 -
QT自定义工具条渐变背景颜色一例
【代码】QT自定义工具条渐变背景颜色一例。原创 2025-01-06 15:42:08 · 857 阅读 · 0 评论 -
弥散张量分析开源软件 DSI Studio 简体中文汉化版可以下载了
弥散张量分析开源软件 DSI Studio 简体中文汉化版可以下载了原创 2025-01-06 15:40:18 · 1409 阅读 · 0 评论 -
简单编程实现QT程序黑色主题显示
代码如下int main(int argc, char *argv[]){ QApplication a(argc, argv); //QSurfaceFormat::setDefaultFormat(QVTKOpenGLStereoWidget::defaultFormat()); QPalette darkpalette; a.setStyle(QStyleFactory::create("Fusion")); darkpalette.setColor..原创 2025-01-06 15:39:44 · 1033 阅读 · 0 评论 -
在Windows/QT环境编程中同时catch C++异常和SEH异常
代码如下://.hclass CONTROLLER_API CExceptionGuard{public: CExceptionGuard(); ~CExceptionGuard();private: class Impl; Impl* prd;};// .cppclass SE_Exception : public std::exception{private: const unsigned int nSE;public: SE_Exception() noe原创 2022-04-28 12:10:40 · 1873 阅读 · 0 评论 -
推荐一个在QT环境中学习OpenGL的开源项目MathMod
MathMod源代码的链接是:GitHub - parisolab/mathmod: Mathematical modelling software使用QtCreator打开.pro文件,直接编译后就能运行。其源代码和清晰,是初学OpenGL的一个不错的选择。该软件的源码目前仍然在升级之中,可以持续跟进学习。下面的截图是本人对界面布局稍作了更改后的运行图:...原创 2022-04-16 13:32:39 · 1002 阅读 · 0 评论 -
MFC Ribbon定制方法一则
本文代码来自Adding New Theme Variations to the MFC Ribbon (CMFCVisualManager) - CodeProject下面的主要类代码出自上述文章,涉及权力由该作者所有1. 头文件 MFCVisualManagerDeviant.h#pragma once// CMFCVisualManagerDeviant command targetclass CMFCVisualManagerDeviant : public CMFCVisu原创 2022-04-02 09:52:41 · 841 阅读 · 0 评论 -
MFC/QT混合编程时使用QMessageBox一例
MFC/QT混合编程的方法可以参考这个链接:MFC/QT混合编程官方方法1. 使用QMessageBox可以这样:void CJxDicomerApp::OnTest(){ QWinWidget* parent = new QWinWidget(AfxGetMainWnd()->m_hWnd); QMessageBox::information(parent, QString::fromStdWString(L"MFC下使用QMessageBox"), QString::fromS原创 2022-03-15 16:46:03 · 857 阅读 · 0 评论 -
VTK经典四格图
右下角的是使用Volume绘制的三维图。原创 2021-04-22 21:14:06 · 300 阅读 · 0 评论 -
MFC Ribbon UI + QT 混合编程的官方标准做法
将QtWinMigrate库代码添加的MFC/Ribbon项目,可以很完美的实现MFC与QT混合编程。前述库代码可以从优快云下载到。下面为代码主要的地方:1. WinApp.h#include "Migrate/qmfcapp.h" // <---class CMfcQtTestApp : public CWinAppEx{public: CMfcQtTestApp...原创 2019-08-16 19:38:53 · 1585 阅读 · 0 评论 -
VC 如何在一个矩形框中居中显示一个长字符串
VC 如何在一个矩形框中居中显示一个长字符串先使用 DT_WORDBREAK 和 DT_CALCRECT标志位调用 DrawText函数获得文字的外框尺寸再使用将该外框尺寸居中显示实际绘制到窗口矩形框中。示例代码和界面效果图如下所示:void CPlainCellNode::Draw(CDC* pDC){ if (m_nCols <= 0 || m_nRows <=原创 2017-10-31 22:29:12 · 714 阅读 · 1 评论 -
使用CMFCShellTreeCtrl类作为打开文件窗口一例
CMFCShellTreeCtrl使用一例原创 2016-12-08 23:05:22 · 3470 阅读 · 2 评论 -
MFC使用API函数GdiAlphaBlend绘制半透明控件
示例代码如下 if (m_hBrushBackground) { HDC back; CRect rcx = rcc; back = ::CreateCompatibleDC(dc); HBITMAP bmpx; bmpx = ::CreateCompatibleBitmap(dc, rcx.Width(), rcx.Height()); HBITMAP ob = (原创 2016-11-23 22:13:35 · 2372 阅读 · 0 评论 -
处理对话框WM_NCCALCSIZE消息,调用SetWindowPos函数给对话框加上表头
结合两者,可以实现给对话框加上表头。另一种解决方案是在对话框标题栏下创建表头控件,一般为CStatic的派生类,并将对话框原子控件都往下移动,之后拉长窗口。本人使用了上面的第一种方法,界面效果如下:原创 2015-03-12 20:22:31 · 672 阅读 · 0 评论 -
VC6 TRACE宏的学习
一,各宏定义如下:#ifdef _DEBUG#define TRACE ::AfxTrace#define TRACE0(sz) ::AfxTrace(_T("%s"), _T(sz))#define TRACE1(sz, p1) ::AfxTrace(_T(sz), p1)#define TRACE2(sz, p1原创 2009-08-20 11:20:00 · 4644 阅读 · 0 评论 -
简单的工作者线程封装
1. 基类class CWorkerThread : public CObject{ DECLARE_DYNAMIC(CWorkerThread)public: CWorkerThread() { m_pHost = NULL; } virtual ~CWorkerThread() { }// Attributespublic:// Operationspublic:原创 2009-08-20 14:09:00 · 826 阅读 · 0 评论 -
MFC中非MDI子框架窗口
框架窗口也可以做为界面中的子窗口, 创建时要加入WM_CHILD属性.下面为示例 1. 主框架窗口 #include "MyChildFrm.h"class CMainFrame : public CFrameWnd{ public: CMainFrame();protected: DECLARE_DYNAMIC(CMainFrame)原创 2009-08-27 20:38:00 · 1937 阅读 · 0 评论 -
采用多重继承模仿文档视图结构
1. 数据类#include class IJxInterface;class CJxDataSet : public CCmdTarget{ DECLARE_DYNCREATE(CJxDataSet) CJxDataSet(); // protected constructor used by dynamic creation bool LinkI原创 2009-08-30 22:10:00 · 630 阅读 · 0 评论 -
打印成员函数地址一例
代码很简单 static bool bGet = false;CMyMainFuncView::CMyMainFuncView(){ if (!bGet) { CString _str; _str.Format("CMyMainFuncView::PreCreateWindow address(may virtual func jump): 0x%p",原创 2009-09-06 11:08:00 · 1195 阅读 · 0 评论 -
MFC程序崩溃地址抓取代码(VC6通过)
1. 更改AfxWinMain函数 // stdafx.cpp : source file that includes just the standard includes// MyMainFunc.pch will be the pre-compiled header// stdafx.obj will contain the pre-compiled type informatio原创 2009-09-06 10:15:00 · 1675 阅读 · 0 评论 -
模拟MFC命令消息机制的事件机制
为了携带更多参数在线程间调用过程,我最近模仿windows的MFC命令机制,写了一个简单的事件机制 分为事件消息接收器,事件转发器,事件处理器等。主要代码如下 1. JrEvent.h#pragma once#define EVENT_MSG WM_USER + 0X100typedef UINT EVENT_CODE;typedef HANDLE HEVENT原创 2009-12-26 16:26:00 · 1980 阅读 · 0 评论 -
一种多线程环境下的参数访问方法
应用临界区锁控制访问,并利用了模板参数,方便应用 templateclass CJrParam{public: CJrParam(void) { ::InitializeCriticalSection(&m_CriticalSection); } virtual ~CJrParam(void) { ::DeleteCriticalSection(原创 2009-12-26 22:28:00 · 614 阅读 · 0 评论 -
近日做的皮肤界面
原创 2011-11-10 15:39:03 · 740 阅读 · 0 评论 -
给ThemeButton加上图标
采用 DrawThemeBackground API函数可以给ThemeButton加上图标,类似以前Delphi风格的按钮。代码及界面效果如下,不难,就不多解释了 LRESULT CSkinWnd::ButtonWindowProc(HWND hRealWnd, UINT msg, WPARAM wp, LPARAM lp){ switch (msg) {原创 2012-03-03 10:05:35 · 2324 阅读 · 0 评论 -
使用开源代码写了一个C++文件阅读编辑器
源代码在下面这个链接里http://download.youkuaiyun.com/detail/joshua0137/5022988 欢迎大家使用和提建议原创 2013-02-07 10:15:15 · 1134 阅读 · 1 评论 -
一个树列表控件的例子 (CTreeListCtrl)
一种自定义窗口控件 CTreeListCtrl原创 2016-11-16 19:51:32 · 4403 阅读 · 0 评论 -
成员函数指针编程两例
今天学了一下成员函数指针编程,特将代码记在此处,代码不太严格,阅读过的网友不要简单抄录例子1: #include "stdafx.h" class CModule;typedef void (CModule::*pMMdFunc)(); class CModule{public:CModule(){}~CModu原创 2009-04-07 16:46:00 · 816 阅读 · 0 评论