#include
void MainWindow::open()
{
QString path = QFileDialog::getOpenFileName(this, tr("Open Image"), ".", tr("Image Files(*.jpg *.png)"));
if(path.length() == 0) {
QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files."));
} else {
QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path);
}
}
QString QFileDialog::getExistingDirectory(QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), Options options = ShowDirsOnly)
QString fileStr = fileNameEdit->text();
QFileInfo fileInfo(fileStr);
qint64 size = fileInfo.size();
//--获取文件创建时间
QDateTime buildTime = fileInfo.created();
//--获取文件最近修改时间
QDateTime lastMdTime = fileInfo.lastModified();
//---获取文件最近访问时间
QDateTime lastVisitTime = fileInfo.lastRead();
QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::warning(NULL, "warning", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::question(NULL, "question", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::about(NULL, "About", "About this application");
QMessageBox::about(NULL, "About", "About this application");
下载UPX http://upx.sourceforge.net/download/upx308w.zip
解压缩后,只有 upx.exe 是有用的,可以将它放在 mingw32\bin 或 windows\system32 下,省去设置路径的烦恼
打开QT命令工具执行命令:upx -9 $(TARGET)
-9 的意思是,最大压缩率。
setWindowFlags(windowFlags()&~Qt::WindowCloseButtonHint&~Qt::WindowContextHelpButtonHint);
setWindowFlags(Qt::CustomizeWindowHint
| Qt::WindowTitleHint
| Qt::WindowMinimizeButtonHint
| Qt::WindowMaximizeButtonHint
| Qt::WindowCloseButtonHint
);
//WindowFlags包括:
Qt::FrameWindowHint://没有边框的窗口
Qt::WindowStaysOnTopHint://总在最上面的窗口
Qt::CustomizeWindowHint://自定义窗口标题栏,以下标志必须与这个标志一起使用才有效,否则窗口将有默认的标题栏
Qt::WindowTitleHint:显示窗口标题栏
Qt::WindowSystemMenuHint://显示系统菜单
Qt::WindowMinimizeButtonHint://显示最小化按钮
Qt::WindowMaximizeButtonHint://显示最大化按钮
Qt::WindowMinMaxButtonsHint://显示最小化按钮和最大化按钮
Qt::WindowCloseButtonHint://显示关闭按钮
QString str("123abc小马哥");
QByteArray byte1 = str.toLatin1(); //按照ASCII编码转换,无法转换中文
QByteArray byte2 = str.toUtf8(); //按照Utf-8编码转换,可以转换中文
qDebug() << "byte1:" << byte1 << "byte2:" << byte2;
QByteArray byte("123abc小马哥");
QString str(byte);
qDebug() << "byte:" << byte << "str:" << str;
Qstring str;
char* ch;
QByteArray ba = str.toLatin1();
ch=ba.data();
如果涉及中文,建议通用用utf-8格式,可以避免莫名其妙的乱码现。这一点在代码编辑上建议也是使用utf-8格式。如下:
Qstring str;
char* ch;
QByteArray ba = str.toUtf8();
ch=ba.data();
对于涉及中文情况,也可以先将QString转换为标准库string类型,然后再将string转换为char*
QString str;
std::string str = filename.toStdString();
const char* ch = str.c_str();
方法一:直接用QString的构造函数转换
char* ch = "acuity";
QString str(ch);
方法二:用QString的静态转换函数获取,如fromUtf8()、fromLocal8bit()、fromUtf16()
char* ch = "acuity";
QString str = Qstring::fromUtf8(ch);
QString str("1000");
int tmp = str.toInt();
或者
bool ok;
QString str("10000");
int tmp = str.toInt(&ok);
注:ok表示转换是否成功,成功则ok为true,失败则ok为false。
int tmp = 100;
QString str = QString::number(tmp);
QString str = "abc";
qDebug("%s", qPrintable(str));
QByteArray ba;
qDebug("%s",ba.toStdString().c_str());