zoukankan      html  css  js  c++  java
  • Qt Programming碎碎念(一)

    1. 如何知道Qt的安装路径?

    QLibraryInfo::location, 根据参数可以查询Qt不同模块的路径,如translations的路径、doc的路径等。

    2. QDir::fromNativeSeparators/QDir::toNativeSeparators

    这两个静态方法在UNIX/Linux下是没有效果的。请手动处理路径中的path separator,使用QString提供的方法。

    3. QString不能在std::cout/std::cin中使用

    因为QString重载<<符号定义是酱紫:QDataStream & operator<< ( QDataStream & stream, const QString & string )

    所以,要使用QString的toStdString来转换一下,比如std::cout << test_qstring.toStdString() << std::endl;

    C++ << operator重载,是看<<左边的类型,比如这里的cout,就是ostream类型,这个类会提供一系列operator<<的重载函数,比如可以接受const char *,可以接受int, long, short...;但是如果ostream中的operator<<重载函数中找不到一个匹配的,那就要看<<右边的类型是否能支持ostream <<操作符。做法就是在这个类型中重载operator<<,函数第一个参数是ostream,并且返回值也是ostream。

    所以,在这个例子中,首先由于ostream不能handle QString,此外,QString虽然重载了operator<<,但是是为了支持QDataStream的。所以QString不能在ostream中使用。

  • 相关阅读:
    ABP初始化
    ABP生成错误:必须添加对程序集“netstandard”的引用
    树莓派安装Mysql
    多对多关系的中间表命名
    dapper.net 存储过程
    Rabbitmq发送方消息确认
    Rabbitmq发送消息Message的两种写法
    ThreadLocal原理
    多模块打包为可执行jar问题
    类中属性加载顺序的demo
  • 原文地址:https://www.cnblogs.com/super119/p/1904331.html
Copyright © 2011-2022 走看看