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

武汉软件园网站建设谷歌seo课程

武汉软件园网站建设,谷歌seo课程,网站域名跳转代码html,西安网站建设瑞信开发环境问题 vs2022下直接打开ui、ts文件失败 解决办法如下图, 设置designer独立运行。估计是嵌入运行存在些许bug。 同理,ts编辑工具linguist也存在这个问题。 qrc rc的编辑嵌入编辑都正常,但分离式更稳定可靠。 qt creator编译失败 原…

开发环境问题

vs2022下直接打开ui、ts文件失败

解决办法如下图,
设置designer独立运行。估计是嵌入运行存在些许bug。
同理,ts编辑工具linguist也存在这个问题。
qrc rc的编辑嵌入编辑都正常,但分离式更稳定可靠。
在这里插入图片描述

qt creator编译失败

原因是qt creator自己设置的默认编译环境路径错误,修改c++编译器所在路径。
在这里插入图片描述

界面元素的两种创建方式

在qt designer中编辑ui文件

在这里插入图片描述
我觉得,在qt designer中编辑ui文件,唯一优点就是比较直观。
缺点较多,设置起来比较麻烦。效率较低,代码方式可以拷贝粘贴。界面对象指针都存储在Ui::QtWidgetsApplication1Class ui_;中。

在MainWindow的构造函数中new ui元素

这是qt自带Application Example示例代码的方式,此示例工程就没有ui文件。
在这里插入图片描述
之所以还保留qrc文件,我觉得是为了将所有png单文件合并为一个资源文件,显示时直接访问程序内部的资源图像内存块,避免了图像加载过程,使得界面显示更流畅。

示例代码中没有管理new出来的ui对象内存
例如:QMenu *fileMenu = menuBar()->addMenu(tr(“&File”));
原因是这些界面对象指针都会被挂在qApp这个内存树上,app关闭时会自动释放。
如果其它函数中途需要用到这些ui对象,可以放在class MainWindow中集中存储。

qml

connect 信号和槽

connect 一般有4个参数,分为两组:
前面两个分别是信号发送者和信号类型,
后面两个是信号接收者和负责响应的槽函数。
例如:

	connect(ui_.plainTextEdit->document(), &QTextDocument::contentsChanged,this, &MainWindow::documentWasModified);#ifndef QT_NO_SESSIONMANAGER //系统关闭时,会触发qApp的commitDataRequest信号QGuiApplication::setFallbackSessionManagementEnabled(false);connect(qApp, &QGuiApplication::commitDataRequest,this, &MainWindow::commitData);
#endif

connect原型如下,

    //Connect a signal to a pointer to qobject member functiontemplate <typename Func1, typename Func2>static inline QMetaObject::Connection connect(const typename QtPrivate::FunctionPointer<Func1>::Object *sender, Func1 signal,const typename QtPrivate::FunctionPointer<Func2>::Object *receiver, Func2 slot,Qt::ConnectionType type = Qt::AutoConnection)enum ConnectionType {AutoConnection,DirectConnection,QueuedConnection,BlockingQueuedConnection,UniqueConnection =  0x80};

AutoConnection:默认选择,适合大多数场景。

DirectConnection:直接调用,适合单线程。

QueuedConnection:跨线程调用,适合多线程。

BlockingQueuedConnection:跨线程同步调用,适合需要同步的场景。

UniqueConnection:确保连接唯一,避免重复连接。

QSettings保存运行信息

在下一次启动时可以查询复用上一次的运行信息。

	QCoreApplication::setOrganizationName("QtProject");void MainWindow::writeSettings()
{QSettings settings(QCoreApplication::organizationName(), QCoreApplication::applicationName());settings.setValue("geometry", saveGeometry());
}void MainWindow::readSettings()
{QSettings settings(QCoreApplication::organizationName(),QCoreApplication::applicationName());const QByteArray geometry = settings.value("geometry", QByteArray()).toByteArray();if (geometry.isEmpty()) {const QRect availableGeometry = screen()->availableGeometry();resize(availableGeometry.width() / 3, availableGeometry.height() / 2);move((availableGeometry.width() - width()) / 2,(availableGeometry.height() - height()) / 2);}else {restoreGeometry(geometry);}
}

如果涉及多个显示屏(下一次启动也可能没有之前的显示器),情况会复杂一些。

QCommandLineParser 支持命令行

ui程序支持命令行的话,可以像linux命令一样将一组ui程序串成脚本运行(此时代码需要控制跳过界面显示),需要时再启动ui显示。

	QCommandLineParser parser;parser.setApplicationDescription(QCoreApplication::applicationName());parser.addHelpOption();parser.addVersionOption();parser.addPositionalArgument("file", "The file to open.");parser.process(app);if (!parser.positionalArguments().isEmpty())//支持命令行打开文件mainWin.loadFile(parser.positionalArguments().first());
http://www.dtcms.com/wzjs/510633.html

相关文章:

  • 帮做ppt网站抖音营销推广方案
  • 国家建设安全局网站广州疫情今天最新消息
  • 网站制作2019趋势宁德市旅游景点大全
  • 企业网站优化怎么提高关键词排名seo网络推广教程
  • 深圳网站建设公司联系百度推广如何获取精准的客户
  • 一个人做b2b2c网站网站优化排名方案
  • wordpress如何设置内容页搜索引擎关键词优化
  • 登建设厅锁子的是哪个网站国内最近的新闻大事
  • 网站编程学习泰安短视频seo
  • 新公司做网站怎么弄今日头条收录入口
  • 秦皇岛高端网站设计收录网站查询
  • 政府网站管建设情况汇报百度推广怎么做免费
  • 企业网站建设杭州公司佛山seo关键词排名
  • 做宣传网站买什么云服务器百度游戏客服在线咨询
  • 徐州便民信息网优化seo教程技术
  • 如何再网站上做免费广告厦门网站关键词推广
  • 济宁做网站哪家比较好seo少女
  • 域名商的网站每日军事新闻
  • 还有哪些免费的网站可以做H5信息流优化师
  • 如何用模板做公司网站seo薪酬水平
  • wordpress主题point谷歌seo网站建设
  • 网站建设广告词品牌推广营销
  • wordpress网站模板仿站工具百度搜索排行榜前十名
  • 网站架构图怎么做今天的国际新闻
  • 番禺人才网最新招聘信息seo优化技术是什么
  • 青岛网站开发招聘下载谷歌浏览器
  • 新品牌推广策略厦门seo搜索排名
  • 陇城科技网站建设seo网站优化软件
  • 樟木头仿做网站互联网营销行业前景
  • 自动发卡网站怎么做广州专业网络推广公司