QT使用中的一些技巧
在main函数中添加以下语句:
QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
2.打开/关闭文件:
bool MainWindow::saveAs()
{
QString fileName = QFileDialog::getSaveFileName(this,
tr("Save Spreadsheet"), ".",
tr("Spreadsheet files (*.sp)"));
if (fileName.isEmpty())
return false;
return saveFile(fileName);
}
void MainWindow::open()
{
if (okToContinue()) {
QString fileName = QFileDialog::getOpenFileName(this,
tr("Open Spreadsheet"), ".",
tr("Spreadsheet files (*.sp)"));
if (!fileName.isEmpty())
loadFile(fileName);
}
}
3.QLineEdit对字符的验证:
QRegExp regx("[a-zA-Z0-9]+$");
QValidator *validator = new QRegExpValidator(regx, lined );
lined->setValidator( validator );
通过设置QLineEdit的Validator就可以获得验证字符的能力,可以自动过滤掉其他字符,并可通过调用正则表达式进行扩充
QT已经内置了整形和浮点型的Validator:
QIntValidator
QDoubleValidator
4、将将ANSII转换为宽字符:
首先调用 setlocale函数进行编码设置,如果转换为中文,就是:
setlocale(LC_ALL, "chs");
然后调用 mbstowcs函数。
mbstowcs(wtmp,item->title,64);