1.Qt中QString,int,char,QByteArray之间相互转换
2.QT获取系统当前时间
#include <QtCore/QDateTime>
QDateTime dt;
QTime time;
QDate date;
dt.setTime(time.currentTime());
dt.setDate(date.currentDate());
//自定义格式
QString currentDate = dt.toString("yyyy-MM-dd hh:mm");
3.QT写文本文件(QTextStream 写文件)
#include <QtCore/QTextStream>
#include <QtCore/QFile>
#include <QtCore/QIODevice>
QString sFilePath = "C:\\test.txt";
QFile file(sFilePath);
//方式:Append为追加,WriteOnly,ReadOnly
if (!file.open(QIODevice::WriteOnly|QIODevice::Text)) {
QMessageBox::critical(NULL, "提示", "无法创建文件");
return;
}
QTextStream out(&file);
out<<"要写入内容"<<endl;
out.flush();
file.close();
//注意写入方式的选择,注意写完后的关闭操作!
4.选择保存目录对话框
QString saveDir = QFileDialog::getExistingDirectory(NULL, this,"保存目录", "选择目录", true);
5.分割字符串
QString str = "a,,b,c";
QStringList list = str.split(",", QString::SkipEmptyParts);
// list: [ "a", "b", "c" ]
for (int i = 1;i<list.length();i++)
{
}
6.QPushButton 和 QToolButton
QPushButton* pushBtn = new QPushButton("按钮1名称");
QToolButton* toolBtn = new QToolButton;
toolBtn->setToolTip("按钮2说明");
toolBtn->setIcon(QIcon(":/icons/btn.png"));
connect(toolBtn,SIGNAL(clicked()),this,SLOT(OnBtnClicked()));
7.科学技术法-正则表达式
//正则表达式-科学技术法 支持:-1.5e+99
const QString RegExp_REAL = "[+-]?[\\d]+([\\.][\\d]*)?([Ee][+-]?[0-9]{0,2})?";
//正则表达式-整数类型
const QString REGEXP_INTEGER = "^-?[0-9]+$";
QLineEdit* lineEdit = new QLineEdit;
QRegExp regx(RegExp_REAL);
QValidator *validator = new QRegExpValidator(regx, lineEdit);
lineEdit->setValidator(validator);
8.QMap遍历
//QMap<QString, QString> map;
QMap<QString, QString>::const_iterator it = map.constBegin();
while (it != map.constEnd()) {
QString value = it.value();
//...
++it;
}
9.设置界面风格
//设置界面风格
QWidget* widget = new QWidget;
//window风格
widget->setStyle(new QWindowsStyle());
//Mac风格
widget->setStyle(new QMacStyle());
10.Qt 已默认方式打开所有文件ShellExecuteA
QString sParamFilePath = "文件路径";
sParamFilePath.replace("/","\\");
ShellExecuteA(NULL,"open",""+sParamFilePath,NULL,NULL,SW_SHOW);
QItemSelectionModel *selections = matrixTable->selectionModel();
QModelIndexList selected = selections->selectedIndexes();
QMap<int, int> rowMap;
foreach (QModelIndex index, selected)
{
rowMap.insert(index.row(), 0);
}
QMapIterator<int, int> rowMapIterator(rowMap);
rowMapIterator.toBack();
while (rowMapIterator.hasPrevious())
{
rowMapIterator.previous();
int rowToDel = rowMapIterator.key();
m_matrixModel->removeRow(rowToDel);
}