下面写的都是我自己在工作遇到的一些小问题,我总结下来了,希望对你会有用,以后都会有更新。
1、使按钮移动按下有凹陷效果
(1) 使用图片
“:/res/Resources/buttom/search_normal.png”是已添加到资源中的资源路径,你也可以使用绝对路径,但还是推荐使用资源路径;你可以自己用p图工具p三张图,一张为正常状态的,一张为鼠标移动到按钮上的,颜色相对于第一张深一些,最后一张为按下状态时的,颜色相对于第二张更深一些,个人觉得这样效果最好
ui.pushButton_5->setFixedSize(19,19);
ui.pushButton_5->setStyleSheet("QPushButton{border-image: url(:/res/Resources/buttom/search_normal.png);}"
"QPushButton:hover{border-image: url(:/res/Resources/buttom/search_click.png);}"
"QPushButton:pressed{border-image: url(:/res/Resources/buttom/search_click.png);}");
效果如下:
正常
这里我移动和按下使用的是一张图
(2) 不使用图片
QString qstr_border_normal = "QPushButton{background-color: rgba(0,0,0,0);border: 1px solid rgb(135,135,135);color: rgb(255, 255, 255);}"
"QPushButton:hover{background-color: rgb(255, 192, 0);color: rgb(255, 255, 255);}"
"QPushButton:pressed{background-color: rgb(255, 192, 0);color: rgb(0, 0, 0);}";
ui.m_pushBtnHomePage->setStyleSheet(qstr_border_normal);
效果如下:
正常
移动
按下
2、如何将QCalendarWidget改为英文显示
ui.calendarWidget->setLocale(QLocale::English);
3 、VS2010中QString转char*,支持中英文
char pFilePath[512] = {0};
strcpy(pFilePath,qstrFileName.toLocal8Bit().data());
4、VS2010中使用Qt信号槽,信号槽总是连接不上
(1)我的是利用SVN合并版本的时候,修改了工程文件,没有把头文件加进来,导致依赖于头文件生成的moc文件生成和更新不了,导致信号槽连接失效;解决的办法就是,将头文件重新添加,删除该头文件对应的moc文件,再编译即可;
(2)有可能是因为信号槽的参数不一致;