论Qt中的QToolButton与QPushButton的淘气

在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就不同,完全很好,有按下释放的工作,图片的嵌入很好,不信,你自己试试看呗




  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: qtoolbutton 和 qpushbutton 都是 Qt 框架的按钮控件,但它们的用途略有不同。qpushbutton 是一个标准的按钮控件,通常用于触发一个操作或执行一个命令。而 qtoolbutton 则是一个工具按钮控件,通常用于显示一个下拉菜单或者一个弹出式工具栏。此外,qtoolbutton 还可以设置图标和文本,并且可以通过设置不同的工具提示来提供更多的信息。 ### 回答2: QToolButton和QPushButtonQt框架的两种按钮控件,它们有以下区别: 1. 功能:QToolButton是一个多功能的工具按钮,它可以显示图标、文字、菜单以及快捷键,适用于工具栏等场景;而QPushButton是一个简单的按钮,适用于一般的按钮交互。 2. 外观:QToolButton具有更多的外观样式和布局选项,可以设置按钮的图标、文字位置、弹出菜单等;而QPushButton则相对简单,只能设置其图标和文字。 3. 交互:QToolButton可以设置为可以选择(toggle)状态,即可以显示按下和抬起两种状态,适用于类似复选框或切换按钮的功能;而QPushButton则只有按下状态。 4. 快捷键:QToolButton支持设置快捷键,可以通过快捷键触发按钮的点击操作;而QPushButton不支持设置快捷键。 5. 包含的功能:QToolButton可以通过设置弹出菜单实现更多复杂的功能,比如显示子菜单、绘制工具栏等,而QPushButton则只能简单的处理点击事件。 总的来说,QToolButton更加灵活多样,适用于需要更复杂功能的按钮,而QPushButton则更加简单直观,适用于一般的按钮交互。选择合适的按钮控件,可以根据具体需求来决定使用哪个。 ### 回答3: QToolButton和QPushButtonQt常见的两种按钮控件,它们有一些区别。 1. 功能不同:QToolButton提供了一些额外的功能,例如弹出菜单、图标尺寸调整等。而QPushButton是一个简单的按钮,只有点击事件。 2. 外观不同:QToolButton通常具有一个图标和一个可选的文本,它可以显示不同的图标以表示不同的状态。而QPushButton通常具有一个文本标签,可以设置背景颜色和边框样式。 3. 用途不同:QToolButton更适合作为工具栏的按钮,因为它可以显示图标和文本,而且可以显示下拉菜单等。而QPushButton更适合用于对话框的按钮或者普通的功能按钮。 4. 可定制性不同:由于QToolButton提供了更多的功能,它通常需要更多的定制工作,以适应不同的需求。而QPushButton通常更直接和简单,需要的定制工作较少。 总的来说,QToolButton提供了一些额外的功能和外观定制选项,适用于更复杂的场景,而QPushButton则是一个简单的按钮,适用于常见的按钮需求。具体使用哪一个取决于实际情况和个人偏好。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值