1.WStyle_Customize等未定义
在pro文件中添加QT += qt3support即可。
2.setstylesheet不影响子模块的方法
ui->Name->setStyleSheet("#Name{border-image:url(:/file/images/bg_large.png)}");
3.设置QPushButton的三态图片
QString strStyle = "QPushButton {border-image: url(:/skin/close1.png);}QPushButton::hover {border-image: url(:/skin/close2.png);}QPushButton::pressed {border-image: url(:/skin/close3.png);}"; ui->closeBtn->setStyleSheet(strStyle);
4.QT多语言
QTranslatortranslator;
translator.load("Language_Chn.qm");
qApp->installTranslator(&translator);
ui->retranslateUi(this);
5.QT读写文件
QFilesystemFile("data\\System.dat");
if(!systemFile.open(QIODevice::ReadOnly))
{
returnfalse;
}
QTextStreamout(&systemFile);
out.setCodec("UTF-8");
str=out.readAll();//读文件
out<<str;//写文件
6.QT显示对话框
QtDialog dlg;
dlg.exec();
7.QT九宫格显示图片
#Frame{border-width: 4px;border-image: url(:/skin/back.png)4 4 4 4 stretch stretch;}
8.QT中对于Edit输入的控制方法
QRegExprx("^[0-9]*[1-9][0-9]*$");//只能输入数字
QRegExpValidator*pRevalidotor= newQRegExpValidator(rx,this);
ui->addrEdit->setValidator(pRevalidotor);
"^\d+$" //非负整数(正整数 + 0) <br>"^[0-9]*[1-9][0-9]*$" //正整数 <br>"^((-\d+)|(0+))$" //非正整数(负整数 + 0) <br>"^-[0-9]*[1-9][0-9]*$" //负整数 <br>"^-?\d+$" //整数 <br>"^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0) <br>"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数 <br>"^((-\d+(\.\d+)?)|(0+(\.0+)?))$" //非正浮点数(负浮点数 + 0) <br>"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数 <br>"^(-?\d+)(\.\d+)?$" //浮点数 <br>"^[A-Za-z]+$" //由26个英文字母组成的字符串 <br>"^[A-Z]+$" //由26个英文字母的大写组成的字符串 <br>"^[a-z]+$" //由26个英文字母的小写组成的字符串 <br>"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串 <br>"^\w+$" //由数字、26个英文字母或者下划线组成的字符串 <br>"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$" //email地址 <br>"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$" //url <br>"^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$" // 年-月-日 <br>"^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$" // 月/日/年 <br>"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Email <br>"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码 <br>
9.QT中的动态切换语言
translator.load(strLanguage);
qApp->installTranslator(&translator);
ui->retranslateUi(this);
translator必须为成员函数或全局函数,因为在程序运行工程中translator不能释放,否则翻译会失败。