在Qt中,按键的类定义主要有两类,一个使QToolButton,另一个就是QPushButton了,他们都是继承QWidget的控件。
相同处:都是按键
不同之处:1.点击触发的反应不同
2.用图片作为按键的背景的时候不同
下面详述:
1.Qt中引用的图片怎么使用
2.button按键如何设置背景图片
3.上述两种不同按键的类的差别在哪里
一、首先,Qt中的图片怎么使用呢?
1.需要的软件:photoshop,ico后缀的图片
通常情况下,我们在网上下载或者自己设计的图片一般都有背景颜色,并且是不透明的,因此为了能够在控件上看到更加完美的的
图片信息,现在需要使用ps进行背景的透明化;
a. 首先下载获取jpg、png等格式的图片;
b. 将这些图片转化为icon的格式,网址:http://www.ico.la/#downico,转化为icon格式的照片;
c. 将icon的图片拉进来,点击魔棒选项,点击背景,delete即可,然后保存为psd格式;
d. 新建一个项目,名字随你,背景内容点击“透明”即可,把刚才保存的psd格式拉进来这个幕布中,调整大小,按Enter键确认放进来;
f. 保存图片,输出的格式为icon,即可得到透明的icon图片。
2.使用:使用QIcon类函数进行设置
QIon(QString)
二、button按键如何设置背景图片
a. 根据上述已经得到的icon后缀格式的图片,那么现在进行设置源文件,在项目main.c所在目录中建立文件夹,名字一定必须是:resource,
把icon后缀的文件添加进来这个目录即可,并修改名字,这里假设有一个为play.ico文件;
b. 在Qt项目中,点击添加新文件,点击Qt选择Qt resource file选项,随便你添加图片源文件的名字,点击添加进本项目中;
c. 点击“添加”,添加前缀,这里修改为image,然后再点击“添加”中的添加文件,把在resource中的icon文件拉进来,并点击该图片,设置别名为play
d. 回到项目的构造函数中进行设置:
ui->pushButton->setIcon(QIcon(":image/play")); //设置背景图片的来源
ui->pushButton->setIconSize(QSize(ui->pushButton->width(),ui->pushButton->height())); //设置填充按键这么大的
ui->pushButton->setStyleSheet("border-style:flat"); //设置透明的
ui->toolButton->setIcon(QIcon(":image/play")); //设置背景图片的来源
ui->toolButton->setIconSize(QSize(ui->toolButton->width(),ui->toolButton->height())); //设置填充按键这么大的
ui->toolButton->setStyleSheet("border-style:flat"); //设置透明的
三、两种按键的不同点
QpushButton可能设计为图片背景之后,按键就好像没有按键的趣味了,感觉有点像触摸屏,因为没有按键的按下和释放的动作,或者
动作比较少,看不出效果
QToolButton就不同,完全很好,有按下释放的工作,图片的嵌入很好,不信,你自己试试看呗