QT4编程过程中遇到的问题及解决办法
1、QLineEdit显示内容的格式函数:
QLineEdit *lineEditPassword = new QLineEdit;
lineEditPassword -> setEchoMode(QLineEdit::Password);
注:
QLineEdit::Normal0 Display characters as they are entered. This is the default.
QLineEdit::NoEcho1 Do not display anything. This may be appropriate for passwords where even the length of the password should be kept secret.
QLineEdit::Password2 Display asterisks instead of the characters actually entered.
QLineEdit::PasswordEchoOnEdit3 Display characters as they are entered while editing otherwise display asterisks.
2、设置窗体大小:
(1)this->setFixedSize(width,height); //设置窗体固定大小
(2)this->resize(QSize(320,240));
(3)QSize Mywindow::sizeHint() const
{
return QSize( 800, 600 );
}
注意:要#include<QSize>
3、qss的设置使用:
(1)建立文本文件,写入样式表内容,更改文件后缀名为qss;
(2)在工程中新建资源文件*.qrc,将qss文件加入资源文件qrc中,此处注意prefix最好为"/",否则在调用qss文件时会找不到文件;
(3)通过传入路径\文件名的方式创建一个QFile对象,以readonly的方式打开,然后readAll,最后qApp->setStyleSheet就可以使qss生效。
qss文件路径及前缀设置如图所示:
我的代码:
QFileqss(":/my.qss");//路径为应用程序所在目录开始
qss.open(QFile::ReadOnly);
QStringqsss=QLatin1String(qss.readAll());
qApp->setStyleSheet(qsss);
qss.close();
注:不知道为什么qApp->setStyleSheet(qss.readALL());不可以
4、在Label部件中显示图片
(1)使用stylesheet:
QLabel*label=newQLabel(this);
label->setStyleSheet("border-image:url(:/fire_red)");//注意路径
(2)
QLabel*label=newQLabel(this);
QStringpath=":/fire_red.png";//相对项目文件
QPixmapimg(path);
label->setPixmap(path);
效果如下:
5、设置坐标
以Label为例:
label->move(20,24);
6、设置大小:
以Label为例:
Label->resize(QSize(46,20));
设置固定大小:
Label->setFixedSize(QSize(46,20));
7、Label中的文字居中:
Label->setAlignment(Qt::AlignCenter);
8、QPushButton设置背景图片:
backPushButton->setFixedSize(QSize(30,30));
backPushButton->setIcon(QIcon(":/back1.png"));
backPushButton->setIconSize(QSize(30,30));
这样设置后按钮大小不变,图片也固定了。
效果如下所示:
9、不能显示中文:
在main.cpp文件中写入
QStringsPath=a.applicationDirPath();
sPath+=QString("/plugins");
a.addLibraryPath(sPath);
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
注:该段代码加在 QApplicationa(argc,argv);之后
然后在程序的exe目录下拷贝plugins文件夹,就可以了。之前我试过网上的很多方法都不行,有的方法只能显示部分中文。现在这种方法亲身实践可行!!!
10、解决QCalendarWidget不能显示“一二三四五六日”的问题:
QCalendarWidget本地化的过程中,需要显示的进行 setLocale 的设定。
calendar->setLocale(QLocale(QLocale::Chinese,QLocale::China));
calendar->setHorizontalHeaderFormat(QCalendarWidget::SingleLetterDayNames);
效果如下:
11、去掉QMainwindow的标题栏
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
- this->setGeometry(QRect(950, 55, 350, 250));//可设置窗口显示的方位与大小
- //this->setWindowOpacity(0.7);//设置透明1-全体透明
- //this->setAttribute(Qt::WA_TranslucentBackground, true);//设置透明2-窗体标题栏不透明,背景透明
- this->resize(300,300);//显示大小
- }
QT4编程过程中遇到的问题及解决办法的更多相关文章
- iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...
- iOS cocopods安装使用和安装过程中遇到的问题及解决办法
在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...
- oracle安装过程中先决条件检查失败的解决办法
1:公司数据库开始用的mysql,因为公司做的是保密性项目,所以就在项目日志过多的时候项目有爆炸的迹象啊(3000千万数据,貌似mysql有点撑不住).然后组长开始让我安装oracle,公司的内网也是 ...
- windows下python-nmap运行过程中出现的问题及解决办法
python-nmap 运行时出现了一下错误 D:\python\untitled5\Scripts\python.exe D:/python/untitled5/test.py Traceback ...
- win10下安装Wampservice过程中遇到的问题及解决办法
今天在电脑上装Wampserver的时候遇到了几个问题,启动Wampserver无法成功,一直显示橙色.若启动成功Wampserver的图标会显示绿色. 下面的是解决方法 安装 在浏览器中搜索Wamp ...
- java web添加mysql过程中遇到的错误及解决办法
问题一:遇到提示找不到驱动 com.mysql.jdbc.Driver 起初项目中是导入了mysql-connector-java-5.1.45-bin.jar 包的,但是一直依然报错,最后去官网 ...
- 记一次wordpress安装过程中遇到的问题及解决办法
Q:无法建立目录wp-content/uploads/2017/03.有没有上级目录的写权限?A:执行chmod 777 wp-content/ 提升目录权限 Q:安装主题或安装插件的时候,用到FTP ...
- ubuntu 安装包过程中遇到的一个错误解决办法
错误提示如下: 将会安装下列额外的软件包: libdigest-hmac-perl libqt5test5下列[新]软件包将被安装: libdigest-hmac-perl下列软件包将被升级: lib ...
- 解锁Scott过程中出现的问题及解决办法
一.conn sys/sys as sysdba; //以DBA的身份登录 出现以下错误 经查 协议适配器错误的问题的原因有三个 监听服务没有起起来.windows平台个一如下操作:开始---程序-- ...
随机推荐
- 【Nodejs】使用nimble串行化回调任务
nodejs的nimble模块可以使我们对回调任务进行串行化,它需要先安装 #npm install nimble 用法也方便,示例代码如下: //========================== ...
- 【pyhon】理想论坛爬虫1.05版,将读取和写DB分离成两个文件
下午再接再厉仿照Nodejs版的理想帖子爬虫把Python版的也改造了下,但美中不足的是完成任务的线程数量似乎停滞在100个左右,让人郁闷.原因还待查. 先把代码贴出来吧,也算个阶段性成果. 爬虫代码 ...
- uni-app - 如何打包
H5,spa应用,必须在服务器环境下运行 多看官方文档,打包涉及到支付.以及各平台兼容性,通过 官方API链接如下: https://uniapp.dcloud.io/platform H5打包 An ...
- __inline定义的内联函数和宏的区别
转自:http://blog.csdn.net/lw370481/article/details/7311668 函数与宏 #define TABLE_COMP(x) ((x)>0?(x):0) ...
- 使用javacv录像,同时进行讯飞声纹认证
由于最近的demo中需要在活体检测的同时进行音视频录制 , 尝试使用MediaRecord和camera来录制视频 , 然而Camera.onPreviewFrame 不能与 MediaRecord ...
- 【转】Spring中IoC的优点与缺点
1. 优点 我们知道,在Java基本教程中有一个定律告诉我们:所有的对象都必须创建:或者说:使用对象之前必须创建,但是现在我们可以不必一定遵循这个定律了,我们可以从Ioc容器中直接获得一个对象然后直接 ...
- 笔试题之j2ee
j2ee部分 1.BS与CS的联系与区别. C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.InFORMix或 ...
- win7 mtp
Sensors MTP Monitor Service 允许MTP设备数据传输,如果该服务被禁用,MTP监视器将不能工作.该服务的默认运行方式是手动,如果你没有使用MTP设备,该功能就可以放心禁用. ...
- openerp修改logo和title
LOGO的修改addons\web\static\src\img下面的:favicon.ico文件和logo2.png \addons\web\static\src\xml\base.xml#82 l ...
- std::move的实际工作过程
std::move的定义如下: template <typename T> typename remove_reference<T>::type && move ...