_长风_
热爱应是星火,点燃了寂夜,路才更辽阔。
展开
-
Qt添加工具栏(带图标)
Qt添加工具栏(带图标)一、准备图片 首先找到自己喜欢的图片存放到对应工程的目录下面,这是为了后面添加图标做准备。二、创建动作进入工程的UI设计界面;点击如下的文件夹按钮新建动作;填写信息添加图标1)文本,即动作显示的名称。比如“新建”、“保存”等;2)对象名称,即动作对象本身的名称,以便用来引用该对象;3)ToolTip,即工具提示词;4)图标,即自己想要添加的图片,操作如下图:5)快捷键,在Shortcut后面的空白框中单击一下,然后同时按下Ctrl和C键原创 2020-09-04 18:26:22 · 8245 阅读 · 5 评论 -
Qt只改变GroupBox的title字体的方法
Qt只改变GroupBox的title字体的方法添加样式右键选择GroupBox框,选择改变样式,如下所示:添加样式,将如下的代码拷到空白框中,如下所示: QGroupBox::title{ font-size: 13px; font-weight: bold; }应用样式根据自己的需求将选择自己喜欢的风格进行应用,如下所示:...原创 2020-08-12 15:37:31 · 4768 阅读 · 2 评论 -
Qt for Mac 菜单栏不显示的问题解决办法
Qt for Mac 菜单栏不显示的问题解决办法 今天碰到一个在Mac版本的Qt 开发中的问题,同样在win10下不存在这个问题,也在网上找到了解决方法,试了一下发现可以解决问题,原来是QMenuBar类中的一个函数设置问题,只要在构造函数中加入一句代码就可以解决问题了。问题现象菜单栏中不显示输入的每个选项,如下图:事实上却已经加上了三项菜单选项,如下图:运行发现并没有出现想要的菜单栏,如下图:解决方法:在构造函数MainWindow::MainWindow(QWidget *原创 2020-05-23 00:53:41 · 3904 阅读 · 10 评论 -
MFC 工具栏按钮浮窗提示
MFC 工具栏按钮浮窗提示在前面的博客中有过如何添加工具栏,这里就不重复赘述了,今儿这个就是一个很小的技巧。在资源视图中打开你要显示提示浮窗的ToolBar。找到按钮,并且单击进入属性在属性中找到Prompt选项,在后面的编辑框中添加\n后面跟你提示词,我的提示词是back.效果...原创 2019-12-11 18:02:13 · 593 阅读 · 0 评论 -
MFC 程序类似“正在运行中...”提示的解决办法(Static Text控件)
Static Text控件的显示在开发软件过程中,我们可能会遇到文件解析,读取文件之类的事情,但是如果文件太大,解析和读取文件时间过长,如果没有提示,就会一直出现静止的界面,很难让人区分是程序挂了还是正在运行中,所以这时候需要有些许提示词,以便于了解程序当前在干什么。Static Text控件能够显示提示词,并且能够根据自己的需求修改内容,当然最好用的还是它能够隐藏,我们可以根据自己需要的时...原创 2020-02-11 12:27:52 · 690 阅读 · 0 评论 -
Control List添加编辑框
Control List添加编辑框.h文件中添加定义变量 int e_Item; //刚编辑的行 int e_SubItem; //刚编辑的列 CEdit m_Edit; //生成单元编辑框对象 bool haveeditcreate;//标志编辑框已经被创建 void createEdit(NM_LISTVIEW *pEditCtrl, CEdit *createdit, int &Item, int &SubItem, bool &ha原创 2020-05-28 16:33:41 · 428 阅读 · 0 评论 -
Control List添加可选下拉框
Control List添加可选下拉框.h文件中添加定义变量 int e_Item; //刚编辑的行 int e_SubItem; //刚编辑的列 CComboBox m_comBox;//生产单元格下拉列表对象 bool haveccomboboxcreate;//标志下拉列表框已经被创建 void createCcombobox(NM_LISTVIEW *pEditCtrl, CComboBox *createccomboboxobj, int &Item原创 2020-05-28 18:53:13 · 1029 阅读 · 1 评论 -
MFC使用TreeCtrl控件实现树型列表(一)
基于基类CDialog使用TreeCtrl控件实现树型列表TreeCtrl控件的添加首先得创建一个CDialog的dialog,并且打开。然后找到VS的工具箱,添加Tree Control。添加后如下:控件的在该dialog添加的类中创建 CTreeCtrl m_TreeCtrl; virtual void MyExpandTree(HTREEITEM hT...原创 2019-11-19 16:09:46 · 897 阅读 · 0 评论 -
MFC 高速绘图坐标轴内添加纵向基准线的方法
高速绘图坐标轴内添加纵向基准线的方法原创 2019-12-07 18:35:48 · 1071 阅读 · 0 评论 -
MFC之窗口切分
MFC之窗口切分一、准备工作(这里主要是新增一个dialog,两个类)新建一个dialog(如下):单击新建号的dialog进入,然后右击选择添加类选项,分别建立两个类FormViewOne和FormViewTwo,选择基类的时候一定要选择CFormView(这个只在2017之前的VS版本里有),VS2017如果要用的话,我目前只能说仿照着模板写,下面是模板,改一下类的名字就好。cl...原创 2019-11-17 16:52:13 · 383 阅读 · 0 评论 -
MFC控件内加右键功能
MFC控件内加右键功能此文章以ListCtrl控件为例子进行实现新建对话框(新建dialog)前面介绍过如何新建,戳这里查看新建menu前面介绍过如何新建,戳这里查看新建LIstCtrl控件前面介绍过如何新建,戳这里查看给控件添加NM_RCLICK消息映射根据下图中步骤选择添加控件NM_RCLICK1 意思是选中ListCtrl控件,然后再到它的属性中去操作2、3、4、5...原创 2019-12-07 15:09:15 · 603 阅读 · 0 评论 -
MFC TreeCtrl和listctrl搭配下,左键单击切换tree中不同的group时,保存list的check状态
由于我本身的数据结构是list中套list,所以就将我状态保存到我自己对应的成员中。思路:实现保存状态的函数------添加单击事件----在单击事件一开始就调用保存状态的函数,以便于刷新重绘时根据状态自动选中。实现保存状态的函数void SetAndAddSigDlg::OnBnClickedChangeSelect(){ BOOL state; CString sigs...原创 2020-01-06 17:13:16 · 582 阅读 · 0 评论 -
关于listctrl中创建列表不显示的bug
关于listctrl中创建列表不显示的bug今儿犯了一个很蠢的错误,自己找了半天的bug,一直纠结在代码上,但是其实最终的错误在属性设置上,其实第一次是完全按照教程做的,所以就没有出错,但是做完一遍没有回头去看,很多细节就会忽视,今儿就记录下来,一方面加深印象,一方面便于以后自己会遇到同样的问题方便查看。找到对应的dialog打开属性,找到view这个选项,将其改成report,如下,...原创 2020-01-10 15:06:46 · 545 阅读 · 0 评论 -
MFC CString 和 string 互转
MFC CString 和 string 互转原文链接同时适用于多字节字符集和Unicode字符集。//将CString转为std::stringstring CMyUtil::CString2string( const CString &cstr){ CStringA stra(( TCHAR *)( LPCTSTR )(cstr)); string str(( char *)( LPCSTR )(stra)); return str;} //转载 2021-09-18 10:59:46 · 1097 阅读 · 0 评论 -
MFC之右键功能的实现
MFC右键功能的实现原创 2019-11-21 10:57:15 · 1085 阅读 · 0 评论 -
MFC设计之CMFCToolBar添加工具栏后按钮功能实现
CMFCToolBar添加工具栏按钮的功能实现一、button函数的声明上一篇说到,工具栏定义到需要调用的dialog中,所以,函数的声明与定义也必然要在对应的dialog中,声明放在.h中,具体代码如下:public: afx_msg void OnToolBarButtonback(); afx_msg void OnToolBarButtonforw(); afx_msg v...原创 2019-11-15 14:05:48 · 2216 阅读 · 0 评论 -
MFC中 CString转char *的最好用的方法之WideCharToMultiByte
MFC中 CString转char *的最好用的方法之WideCharToMultiByte这样用虽然麻烦了点,但是基本UNICODE或者MBCS的工程都可用 CString ChannelNumber = "\<e name=\"ChannelNo\" ro=\"true\"\>"; DWORD dwNum = WideCharToMultiByte(CP_OEMCP, NULL, ChannelNumber, -1, NULL, NULL, 0, NULL); char* numb原创 2021-09-18 10:55:44 · 476 阅读 · 0 评论 -
MFC设计之利用CMFCToolBar添加工具栏(一)
利用CMFCToolBar添加工具栏一、新建Toolbar从资源视图中进去,找到你的工程文件夹,右键选择添加资源,如下所示:选择新建一个Toolbar,如下所示:建立完成,如下所示:二、自己画按钮位图(.bmp文件)这部分自己慢慢摸索吧,我也是画了半天,具体的在图上,我只能帮到这儿了。三、触发工具栏(Toolbar)首先,我们得弄清楚我们要在那里显示我们得工具栏,...原创 2019-11-15 10:29:00 · 1967 阅读 · 0 评论 -
MFC-关于工具栏最大最小化的优化
关于工具栏最大最小化的优化问题 MFC设计界面添加工具栏之后,最大化最小化频繁操作,会导致最后工具栏会被遮挡,这是个隐藏的bug,这是由于使用的网上使用最多的resize函数导致的,其实不难理解,控件边缘是浮点型,通过除乘操作必然会丢失精度,操作越多,误差就越大了,如下:void xxxDlg::resize(){ float fsp[2]; POINT Newp; //get dialog size CRect recta; GetClientRect(&recta);原创 2020-07-21 14:58:12 · 366 阅读 · 0 评论 -
MFC使用List Control控件实现数据显示
List Control控件实现数据显示List Control控件的添加首先得创建一个dialog,并且打开。然后找到VS的工具箱,添加List Control。添加后如下:控件的在该dialog添加的类里面创建在该dialog添加的类的.h文件中用CListCtrl创建一个m_list变量;public: CListCtrl m_list;控...原创 2019-11-19 16:39:21 · 4326 阅读 · 0 评论 -
MFC工具栏按钮按下后显示灰色不可用状态
MFC工具栏按钮按下后显示灰色不可用状态 这是一个很简单也很使用的一个技巧,需要把处理的按钮放在UPDATE_COMMAND_UI的响应函数中,便可以处理菜单对应的用户界面显示状态。案例如下:添加响应函数ON_UPDATE_COMMAND_UI(ID_BUTTONstart, &CXlCANcontrolDlg::OnToolBarButtonstart)实现but...原创 2019-12-12 14:17:26 · 3439 阅读 · 0 评论 -
MFC ListCtrl的cheek框的全选和反选
ListCtrl的cheek框的全选和反选全选函数的实现void SetAndAddSigDlg::OnBnClickedRadioAllSelect(){ for (int i = 0; i < m_Sig_list.GetItemCount(); i++) { m_Sig_list.SetCheck(i, TRUE); m_Sig_list.SetItemSt...原创 2020-01-06 17:00:37 · 898 阅读 · 0 评论 -
MFC中实现选择本地文件的弹框
MFC中实现选择本地文件的弹框首先我们要确定,我们要明确我们通过什么来触发,是点击button按钮,还是通过menu。本文是在menu上实现的。首先新建一个menu,进入资源视图找到下图,点击进入设计界面如下图中所圈出来的步骤新建几个menu。选中其中的一个menu(本文选menu3),鼠标右击出现下拉框,选择添加事件处理程序,按图中一样选择一个要调用的Dlg,添加编辑。添...原创 2019-11-13 13:51:18 · 681 阅读 · 0 评论 -
MFC 高速绘图坐标轴内获取纵向基准线和曲线交点坐标的方法
高速绘图坐标轴内获取纵向基准线和曲线交点坐标的方法原创 2020-01-06 17:33:53 · 750 阅读 · 0 评论 -
MFC使用TreeCtrl控件实现树型列表(二)
基于基类CFormView使用TreeCtrl控件实现树型列表TreeCtrl控件的添加首先得创建一个FORMVIEW的dialog,并且打开。然后找到VS的工具箱,添加Tree Control。添加后如下:控件的在该view添加的类里面创建在该view添加的类的.h文件中用CTreeCtrl创建一个m_treeCtrl变量;在该view添加的类的.h文件中声明相...原创 2019-11-19 16:10:41 · 561 阅读 · 0 评论 -
MFC之Static Text控件的字体,颜色,大小的修改
Static Text控件的字体,颜色,大小的修改在对话框的头文件中添加两个变量CBrush m_brush;CFont m_font;初始化,在OnInitDialog函数里面添加下面代码: //字的大小和格式 m_font.CreatePointFont(100, "Times New Roman"); //画刷的颜色,GetSysColor(COLOR_3DFACE)...原创 2020-02-11 12:54:12 · 2722 阅读 · 0 评论 -
MFC 中实现用cmd日志输出调试信息
MFC 中实现用cmd日志输出调试信息 在工具开发的过程中,我们为了提升运行速度,往往会在debug环境下开发,最终转成release版本释放,但是往往有时候debug环境下能正常运行,release版本下没有办法正常运行,恰恰release下又不能打断点单步调试,这使得很难直观的找到bug的所在,所以这时候还是printf大法好,那么在MFC开发过程中怎么进行printf输出日志呢?下面就学起来吧。在mainAPP的.cpp文件中加入以下函数void InitConsoleWindow(){原创 2020-05-21 18:03:54 · 731 阅读 · 0 评论 -
MFC画直线(dialog)
OnPaint函数内画直线首先创建OnPaint函数,步骤如下:找到自己要添加的dialog,双击进入,按照下图操作。选择WM_PAINT消息,添加OnPaint函数,如下:完成上面步骤,在对应的dialog就自动生成了相应的函数。创建画笔在OnPaint函数中进行创建定义 CClientDC dc(this);//定义画家(这里可以定义CPaintDC或者CWi...原创 2019-12-05 10:37:32 · 2503 阅读 · 0 评论 -
MFC 关闭窗口时弹窗提醒设置
OnClose()关闭窗口时弹窗提醒设置添加ON_WM_CLOSE消息映射,按照以下步骤进行添加:实现弹窗功能void xxxDlg::OnClose(){ // TODO: 在此添加消息处理程序代码和/或调用默认值 UINT nRet = MessageBox(_T("Do you want to exit?"), _T("close"), MB_YESNO); if (nR...原创 2019-12-06 15:00:20 · 1256 阅读 · 0 评论 -
MFC对话框自动退出messagebox
对话框自动退出messagebox创建MessageBox和定时器void xxxDlg::OnBnClickedApply(){ // TODO: 在此添加控件通知处理程序代码 UINT nRet = MessageBox(_T("Do you want to save?"), _T("apply"), MB_YESNO); if (nRet == IDYES) { A2l...原创 2019-12-06 14:41:03 · 1084 阅读 · 0 评论 -
MFC 子线程发送消息给主线窗口
MFC子线程发送消息给主线窗口使用场景: 有些时候,我们会开一个子线程来接收一些报文,当筛选到我们想要的报文时,我们需要通知主界面对这些我们想要的报文进行处理。但是我们知道子线程在接收筛选时,主线程不可能一直守在这里看着子线程操作,这个时候就需要子线程当筛选到我们想要的报文的时候发一个消息给主线程,这样的话就能够及时通知主线程及时来处理。使用方法首先我们需要创建一个子线程...原创 2020-04-20 17:50:52 · 1761 阅读 · 0 评论 -
MFC --静态库中使用MFC
静态库中使用MFC前言 近期在VS2017中用MFC的工程写了一个小工具作为内部使用工具,生成的EXE文件给其他同事使用过程中出现“找不到dll”的问题。翻了翻资料,发现是编译的时选择静态还是动态编译导致的。在默认情况下,MFC的使用选项是“在共享DLL中使用MFC”(如下图),这个时候就需要将相关的DLL文件包和可执行程序一起打包,才能正常使用,但是这样用户体验就差了很多,所以释放的软件最好能是“静态库中使用MFC”,这样就减少了用户使用成本。设置方法工程-属性-配置属性-常规-MFC的使用-原创 2020-07-21 14:20:23 · 2328 阅读 · 0 评论 -
MFC之ListCtrl设置特定单元格颜色
MFC之ListCtrl设置特定单元格颜色网上看了很多的关于重绘或者重新派生一个类来实现,一方面自己实现比较麻烦耗时,另一方面找到几个源码,但是都不支持CheckBox,所以就另想办法,最后确定使用最简单也最有效的方法重载ListCtrl的NM_CUSTOMDRAW消息。首先打开资源视图,点击进入要操作的dialog,进入属性,按照下图的指示找到NM_CUSTOMDARW消息,点击后面...原创 2020-01-13 19:00:55 · 2466 阅读 · 3 评论 -
MFC之图像绘制---高速绘图控件(High-speed Charting Control)应用(一)
High-speed Charting Control的下载、配置及创建一、介绍必须吹一波这个大佬,我觉得这个可能是MFC中最好用的绘图控件了,相关下载链接如下:官方下载地址https://www.codeproject.com/Articles/14075/High-speed-Charting-Control我上传的资源地址https://download.youkuaiyun.com/dow...原创 2019-11-20 18:00:01 · 3259 阅读 · 2 评论 -
MFC之图像绘制---高速绘图控件(High-speed Charting Control)应用(二)
High-speed Charting Control静态绘图一、建立坐标轴 //纵坐标为数值坐标 CChartAxis *pAxis = NULL; pAxis = m_ChartCtrl1.CreateStandardAxis(CChartCtrl::LeftAxis); pAxis->SetAutomatic(true); //横坐标为时间坐标 CChartDateTim...原创 2019-11-21 09:52:27 · 3188 阅读 · 1 评论 -
MFC中dialog的模态和非模态调用
MFC中dialog的模态和非模态调用原创 2020-05-12 15:05:54 · 852 阅读 · 0 评论 -
安装配置PyQt5
PyQt5安装及配置前言首先确认已经安装了Python3.7及以上版本,Python3.7安装教程前面有点击查看。 本次教程只适用于Windows系统。安装PyQt5win+R调出运行框,输入cmd,点击确定;命令行输入pip install PyQt5,键盘点击Enter,如下:其中报了一个Warning,简单更新了一下,如果不报错就表示成功了;安装完成后,可以在Dos命令窗口,输入python再输入import PyQt5如果没有报错,就代表PyQt安装成功。原创 2020-08-19 16:19:34 · 166 阅读 · 0 评论