闲话不多说,直接记录。
首先说一点关于信号槽的误解,上次那个明明发射信号却无法进入槽函数的原因已经查明,因为自定义的类体里面没有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。举个例子:
QDateTime::currentDateTime().toString("yyyy-MM-dd-h-m");
那么返回就是2015-08-22-16-33
;
QTextCodec
为了解决中文乱码的问题,可以通过设置本地编码来解决,当然也可以通过QString::formLocal8bit()
解决(如果变量不多的话)。代码如下:
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
不过需要注意的一点就是改变本地编码之后换行符可能跟随变化。还是用'\n'
吧,暂时没考虑跨平台的问题。
QFileDialog
QFileDialog是一个可以获取文件路径的类,使用它会自动弹出一个文件选择对话框。这个类同时也可以获取文件夹路径。
获取文件夹路径
QString QFileDialog::getOpenFileName();
当然获取同目录下多个文件的话就是
QStringList QFileDialog::getOpenFileNames();
获取已存在文件夹路径
QString QFileDialog::getExistingDirectory();
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。