Qt笔记:QDate、QTextCodec、QFileDialog以及Q_OBJECT

闲话很少说,直接记录。git


首先说一点关于信号槽的误解,上次那个明明发射信号却没法进入槽函数的缘由已经查明,由于自定义的类体里面没有Q_OBJECT因此没法归入Qt你们庭中。我发现这个宏还有解决换行符跨平台等问题,加了这个宏的文件在使用git的时候不会提示CRLF的问题,没加的就会出现CRLF的问题。函数


QDate

QDate是Qt提供的日期控件能够获取当前日期,若是是QDateTime的话能够精确到秒。获取了日期以后能够设置日期显示格式。由toString(QString format)函数实现设置格式。 编码

这个toString函数相似printf函数,都是把format参数里面的特定字符替换为时间,好比y表明year,M表明month,因为日期时间格式里面有两个“m”,因此大写M表示month,小写m表示minute,d表明day,h表明hour,s表明second。举个例子:code

QDateTime::currentDateTime().toString("yyyy-MM-dd-h-m");

那么返回就是2015-08-22-16-33orm


QTextCodec

为了解决中文乱码的问题,能够经过设置本地编码来解决,固然也能够经过QString::formLocal8bit()解决(若是变量很少的话)。代码以下:get

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);

不过须要注意的一点就是改变本地编码以后换行符可能跟随变化。仍是用'\n'吧,暂时没考虑跨平台的问题。it


QFileDialog

QFileDialog是一个能够获取文件路径的类,使用它会自动弹出一个文件选择对话框。这个类同时也能够获取文件夹路径。form

  • 获取文件夹路径class

QString QFileDialog::getOpenFileName();
  • 固然获取同目录下多个文件的话就是变量

QStringList QFileDialog::getOpenFileNames();
  • 获取已存在文件夹路径

QString QFileDialog::getExistingDirectory();
相关文章
相关标签/搜索