当前位置: 首页 > news >正文

在哪个网站可做网络夫妻合肥seo网络营销推广

在哪个网站可做网络夫妻,合肥seo网络营销推广,自己做免流网站,中国纪检监察报地址一、背景 随着操作系统国产化替代的趋势越发明显,软件支持国际化、跨平台,已然是必须做的一件事情。原有的软件UI层用的是MFC,将其换成QT,想必是一种较好的方案。对于大型软件,特别是已发布,但还处于不断迭…

一、背景

随着操作系统国产化替代的趋势越发明显,软件支持国际化、跨平台,已然是必须做的一件事情。原有的软件UI层用的是MFC,将其换成QT,想必是一种较好的方案。对于大型软件,特别是已发布,但还处于不断迭代的阶段,如果直接更换UI库,那么工作量还是很大,若人员较少,那么时间可能会持续挺久。倘若可以逐步替换,那么就比较经济了。

经过自己的摸索实践,MFC换QT应该是可以做到逐步替换,至少目前经过初步测试,可以支撑我的结论。

二、核心代码说明

  1. 新建一个MFC多文档程序,在MFC App类中增加一个QApplication* m_pQtApp的成员。
    在这里插入图片描述

  2. 在MFC App的InitInstance函数中创建QApplication

    BOOL CMFCAppWithQtApp::InitInstance()
    {//qt 初始化int nArgs = 0;m_pQtApp = new QApplication(nArgs, nullptr);//If this property is true, the applications quits when the last visible //primary window (i.e. window with no parent) is closed.m_pQtApp->setQuitOnLastWindowClosed(false);//其他代码:略//....//
    }
  3. 重载MFC App类的Run函数,使其调用qt的消息循环,针对windows,qt底层实现也是windows的消息循环,所以这里改了,MFC的窗口也能正常工作。

    int CMFCAppWithQtApp::Run()
    {
    //	return CWinAppEx::Run();if (!m_pQtApp){return -1;}//调用QT的消息循环int nCode = m_pQtApp->exec();delete m_pQtApp;m_pQtApp = nullptr;return nCode;
    }
    

    此处相对于MFC的run,少调用了OnIdle函数,根据QT帮助文档可知,可以创建一个超时时间为0的QTimer,然后在超时函数中调用MFC App的OnIdle。如果不调用OnIdle函数,一些功能可能会没有,如UpdateCmdUI将不起作用。

    To make your application perform idle processing (by executing a special function whenever there are no pending events), use a QTimer with 0 timeout. More advanced idle processing schemes can be achieved using processEvents().

  4. 从QDialog派生一个对话框类,做下测试,主要测试下qt的窗口显示,以及信号槽机制是否正常工作。

    #pragma once#include <QDialog>class DlgQT_Test : public QDialog
    {Q_OBJECTpublic:DlgQT_Test(QWidget *parent = Q_NULLPTR);~DlgQT_Test();};
    #include "stdafx.h" //MFC移值完后再去除
    #include "DlgQT_Test.h"
    #include ".\GeneratedFiles\Debug\moc_DlgQT_Test.cpp"
    #include <QTableWidget>
    #include <QVBoxLayout>
    #include <QPushButton>
    #include <QFileSystemModel>
    #include <QDir>
    #include <QTreeView>
    #include <QMessageBox>DlgQT_Test::DlgQT_Test(QWidget *parent): QDialog(parent)
    {auto pVLayout = new QVBoxLayout();this->setLayout(pVLayout);this->setStyleSheet("QPushButton{background-color: rgb(255, 0, 0);border-style: outset;border-width: 2px;border-radius: 10px; border-color: beige;font: bold 14px;min-width: 10em;padding: 6px;}");QFileSystemModel *model = new QFileSystemModel;model->setRootPath(QDir::currentPath());QTreeView *tree = new QTreeView();tree->setModel(model);pVLayout->addWidget(tree);auto pTestBtn = new QPushButton(QStringLiteral("按钮"), this);pVLayout->addWidget(pTestBtn);//按钮消息响应QObject::connect(pTestBtn, &QPushButton::clicked, [=](bool){QMessageBox::information(this, QStringLiteral("QT消息框"),QStringLiteral("测试QT弹出消息框"));});
    }DlgQT_Test::~DlgQT_Test()
    {}
    

    注意以上代码中有一行#include ".\GeneratedFiles\Debug\moc_DlgQT_Test.cpp" ,因为是MFC工程,moc_DlgQT_Test.cpp文件是我用qt的moc.exe来生成的,然后在此处包含进来参与编译,生成命令为

    E:\Qt\Qt5.5.1\5.5\msvc2013\bin\moc.exe -o .\GeneratedFiles\Debug\moc_DlgQT_Test.cpp .\DlgQT_Test.h
    
  5. 在MainFrame类中增加测试函数,打开以上qt对话框,进行测试

    void CMainFrame::OnButton2()
    {DlgQT_Test myQTDlg;myQTDlg.exec();
    }

三、运行演示

在这里插入图片描述

http://www.ritt.cn/news/13294.html

相关文章:

  • 室内装修设计师怎么样中山口碑seo推广
  • 怎么用wix做网站软文营销步骤
  • 网站源码和模板的区别在哪里推广自己的产品
  • 网站开发虚拟主机系统网站排名软件包年
  • 免费外链发布信息流优化师怎么入行
  • 企业网站建设英文百度搜索关键词排名查询
  • 网站目录怎么做的优化大师的优化项目有哪7个
  • 丹阳网站建设价格网络营销课程主要讲什么内容
  • 无经验做网站运营和营销的区别和联系
  • 青岛做网站的公司有哪些seo常用的优化工具
  • 我想做互联网怎么做昆山seo网站优化软件
  • 如何制作自己的网站在里面卖东西百度营销app
  • 百度蜘蛛如何找网站优化大师是什么
  • wordpress文章副标题对seo的认识和理解
  • 东莞人才招聘信息seo网站免费优化软件
  • 百度做的网站php免费开源crm系统
  • 顺德精品网站建设房地产网站模板
  • 建站网站教程长沙seo网站排名
  • 网页和网站做哪个好淘宝关键词优化怎么弄
  • 软件 网站开发合作协议全渠道营销成功案例
  • 免费空间是什么意思谷歌seo网站排名优化
  • php动态网站开发课后题答案免费建站软件
  • 卡盟网站制作教程青岛seo关键词
  • 在网站做时时彩代理违法网店代运营收费
  • 怎么查看网站备案号重庆百度seo代理
  • 厦门企业做网站产品怎样推广有效
  • 沈阳做网站 智域广告宣传费用一般多少
  • 天津高端网站建设制作郑州关键词seo
  • 网站设计目标 优帮云营销网站建设哪家快
  • wordpress 大前端2.0百度搜索排名优化哪家好