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

服务推广网站定兴网站建设公司

服务推广网站,定兴网站建设公司,ios系统开发,制作网页时通常需要在同一网页内跳转常常采用制作什么超链接继续讲一些Qt开发中的技巧操作: 1.QList插入操作 关于QList队列的处理中,我们最常用的就是调用append函数添加item,往前插入item很多人第一印象就是调用insert(0,xxx)来插入,其实QList完全提供了往前追加item的函数prepend()、pus…

继续讲一些Qt开发中的技巧操作:
1.QList插入操作
关于QList队列的处理中,我们最常用的就是调用append函数添加item,往前插入item很多人第一印象就是调用insert(0,xxx)来插入,其实QList完全提供了往前追加item的函数prepend()、push_front()方法来插入。

QStringList list;
list << "aaa" << "bbb" << "ccc";
//往后追加 等价于 append
list.push_back("ddd");
//往前追加 等价于 prepend
list.push_front("xxx");
//往后追加
list.append("ddd");
//往前追加
list.prepend("xxx");
//指定第一个位置插入 等价于 prepend
list.insert(0, "xxx");
//输出 QList("xxx", "aaa", "bbb", "ccc", "ddd")
qDebug() << list;

2.扩展类型的使用
Qt内置了一些QList、QMap、QHash相关的类型,可以直接用,不用自己写个长长的类型,比如QStringList,不用你写个QList<QString>

//qwindowdefs.h
typedef QList<QWidget *> QWidgetList;
typedef QList<QWindow *> QWindowList;
typedef QHash<WId, QWidget *> QWidgetMapper;
typedef QSet<QWidget *> QWidgetSet;
//qmetatype.h
typedef QList<QVariant> QVariantList;
typedef QMap<QString, QVariant> QVariantMap;
typedef QHash<QString, QVariant> QVariantHash;
typedef QList<QByteArray> QByteArrayList;

3.关于QSS的坑
关于QSS要注意的坑,qss源自css,相当于css的一个子集,主要支持的是css2标准,很多网上的css3的标准的写法在qss这里是不生效的,所以有时候搜到css3的一些写法,不能盲目的直接copy过来用,很可能不支持的。qss也不是完全支持所有的css2,比如text-align官方文档就有说明,只支持 QPushButton andQProgressBar,务必看清楚;有时候偷懒直接来一句 *{xxx},你会发现大部分是应用了,也有小部分或者极个别没有应用,你可能需要在对应的窗体中 this->setStyleSheet() 来设置;qss的执行是有优先级的,如果没有指定父对象,则对所有的应用,比如在窗体widget中
{color:#ff0000;} 这样会对widget以及widget的所有子对象应用该样式,这种问题各大群每周都有人问,你会发现各种奇奇怪怪的异样不正常,怎么办呢,你需要指定类名或者对象名,比如#widget{color:#ff0000;} 这样就只会对widget对象应用该样式,另一种写法QWidget#widget{color:#ff0000;},只想对窗体本身而不是子控件按钮标签等.QWidget{color:#ff0000;} ,具体详细规则参见官方说明。

4.Qt的延时方法
关于Qt延时的几种方法,举几个例子

void QtHelperCore::sleep(int msec)
{
if (msec <= 0) {
return;
}
#if 1
//非阻塞方式延时,现在很多人推荐的方法
QEventLoop loop;
QTimer::singleShot(msec, &loop, SLOT(quit()));
loop.exec();
#else
#if (QT_VERSION >= QT_VERSION_CHECK(5,0,0))
//阻塞方式延时,如果在主线程会卡住主界面
QThread::msleep(msec);
#else
//非阻塞方式延时,不会卡住主界面,据说可能有问题,目前没发现
QTime endTime = QTime::currentTime().addMSecs(msec);
while (QTime::currentTime() < endTime) {
QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
}
#endif
#endif
}

5.Qt编译的三种版本
关于QtCreator中三种不同编译版本 debug、release、profile 的区别简单说下:
debug调试模式:编译后的可执行文件很大,带了很多调试符号信息等,方便开发阶段调试的时候进入具体的堆栈查看值。会打开所有的断言,运行阶段性能差速度慢,可能会有卡顿感觉;
release发布模式:编译后的可执行文件很小,不带任何调试符号信息,一般用于打包发布程序。由于经过了各种优化,会关闭所有断言,运行阶段性能最好,如果有卡顿那肯定是你的程序有问题了;
profile概述模式:编译后的可执行文件比debug小很多比release大一点,带有部分调试符号信息,在debug和release之间取一个平衡,兼顾性能和调试,性能更优但是又方便调试
debug链接的库是带d结尾的,release和profile链接的库是不带d结尾的,很多人以为profile链接的是带d结尾的其实是错误的,新的Qt在线安装程序在安装的时候,可以勾选是否安装debug调试库(对应lib目录下一堆带d结尾的文件),以前的版本是默认都安装,现在可选安装以便减少体积,无论是否安装了debug调试库,你都可以选择debug模式生成对应debug的文件,无论是哪种模式,都可以在程序中开启日志钩子输出日志信息,方便收集运行阶段的各种信息反馈给开发人员查看问题;最初的开发工具一般是具有debug和release两种模式,随着用户需求的增加和场景的需要,部分开发工具衍生出了profile模式,更有甚者比如flutter还有第四种test模式。
6.环境搭建多练练
Qt的构建套件一般是在安装Qt开发环境的时候自动设置的,当然也可以手动设置,手动设置的时候千万要注意编译器和Qt库必须一致,否则该构建套件是有问题的,千万不能乱设置,尤其是对构建套件命名的时候最好标明qt版本和编译器版本,最好也要一致,不要说名称叫msvc而编译器选择的确是mingw,这样尽管能正常使用该构建套件,但是会造成一种误解,还以为该套件是msvc的,其实里面是mingw的。这个在windows上其实比较好甄别,也不太容易出问题,但Linux交叉编译的环境下,一定要注意区分那些交叉编译链,有时候编译没问题,一上板子发现运行有问题,艾玛,编译器选错了~~
7.指向Qt源码的报错
当你编译Qt程序发现编译通不过提示报错,而且报错提示指向的是Qt源码自身的一些头文件的时候,不要去尝试着修改Qt头文件来编译通过,那样没用而且会带来意想不到的错误,你使用的Qt的库是已经根据原始的头文件编译好的。如果报错提示在编译生成的临时的moc等文件,你也不要尝试去修改他,那个是临时文件,这次你改好了也许编译通过了,你重新编一下又覆盖了还是旧的错误。总之你要从你的代码找问题。

http://www.yayakq.cn/news/835794/

相关文章:

  • 中国建设银行行号查询seod的中文意思
  • 怎么建立手机网站公司企业网站建设目的
  • 新乡网络网站建设如何自己做淘宝网站
  • 公司变更法人的流程seo名词解释
  • 私人可注册网站吗网站建设公司的前景
  • 成品网站 子目录打不开互联网域名注册查询
  • 做后台系统的网站网站建设是一个什么的过程
  • 咸阳做网站的公司有哪些鞍山做网站企业
  • 宝安网站设计服务商城微网站建设方案
  • 建设网站学习网站设计制作软件
  • 在哪里建网站企业有哪些管理软件呢
  • 梅州建站电话罗湖网站 建设深圳信科
  • 制作一个静态网站源码wordpress图片自动居中
  • 重庆公司核名在哪个网站广告关键词
  • 做电影网站犯法吗做ppt图片用的网站有哪些
  • 邢台wap网站建设价格深圳的深圳的网站建设公司
  • 雄安做网站公司小程序开发平台排名
  • 一个网站2级域名多网站建设基本流程备案
  • 如何创新网站建设模式上海有限公司有哪些
  • 天津哪里有做网站的公司10大免费图片处理软件
  • 音乐网站手机模板上海中学地址
  • 郑州企业建站系统模板好看的页面
  • app制作平台下载安阳seo关键词优化
  • 成都网站建设比较好的公司网站开发技术选型
  • 国内商城网站建设仿中国化妆品网站模板
  • 网页设计网站建设报告增城网站定制开发公司
  • 广州网页设计做网络优化哪家公司比较好
  • 关于加强网站建设的情况说明中国建筑集团有限公司是国企吗
  • 网站建设初学app网站建设哪家好
  • 为什么做网站必须要用域名网页设计人员招聘