qt中给各控件增加背景图片(可缩放可旋转)的几种方法

朝闻道 朝闻道     2022-08-15     136

关键词:

1. 给QPushButton 增加背景图片:背景图片可根据Button大小自由缩放。

 

[cpp] view plain copy
 
 技术分享技术分享
  1. void setButtonBackImage(QPushButton *button,QString image,int sizeW, int sizeH)  
  2. {  
  3.     //163,163为原始分辨率,这里稍做了调整。  
  4.     QPixmap pixmap(image);  
  5.     QPixmap fitpixmap=pixmap.scaled(163,163).scaled(sizeW, sizeH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);  
  6.     button->setIcon(QIcon(fitpixmap));  
  7.     button->setIconSize(QSize(sizeW,sizeH));  
  8.     button->setFlat(true);//就是这句能够实现按钮透明,用png图片时很有用  
  9.     button->setStyleSheet("border: 0px");//消除边框,取消点击效果  
  10. }  


2. 给QWidget 增加背景图片:图片可自由缩放。

 

 

[cpp] view plain copy
 
 技术分享技术分享
  1. this->setAutoFillBackground(true);    //Widget增加背景图片时,这句一定要。  
  2. QPixmap pixmap(":/images/bg_news.png");  
  3. QPixmap fitpixmap=pixmap.scaled(1200, 1200).scaled(config->mainWindowW,config->mainWindowH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);  
  4. QPalette palette;  
  5. palette.setBrush(QPalette::Background, QBrush(fitpixmap));  
  6. this->setPalette(palette);  


3. 给QLabel 增加背景图片:图片可自由缩放。

 

 

[cpp] view plain copy
 
 技术分享技术分享
  1. QPixmap pixmap(normalIcon);  
  2. QPixmap fitpixmap=pixmap.scaled(labelIcon->width(), labelIcon->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);  
  3. labelIcon->setPixmap(fitpixmap);  

 

 

4. 采用QSS样式,增加背景图片,图片显示原始比例。

 

[cpp] view plain copy
 
 技术分享技术分享
  1. lastBtn->setStyleSheet("background-image: url(:/images/btn_previous_normal.png);border: 0px");  

 

 

QPixmap旋转图片:

[cpp] view plain copy
 
 技术分享技术分享
    1. QMatrix leftmatrix;  
    2. leftmatrix.rotate(270);  
    3. ui->label->setPixmap(pixmap.transformed(leftmatrix,Qt::SmoothTransformation));  

 

http://blog.csdn.net/liukang325/article/details/44832397

qt中设置窗体透明度的几种方法

...现,将背景色设置为全透。效果:窗口整体透明,但窗口控件不透明,QLabel控件只是字显示,控件背景色透明;窗体客户区完全透明。2、使用函数setAttribute(Qt::WA_TranslucentBackground,true);同样在构造函数中,效果和第一种方法相同... 查看详情

网页中图片旋转的几种实现方式

网页中图片旋转一般有下面三种常见的实现方式:一、ie滤镜IE的图形旋转滤镜,通过指定BasicImage滤镜的rotation值旋转元素,旋转方向为顺时针,旋转的中心点为元素的左上角。rotation可以有4个旋转值:0,1,2,和3分别表示将元素旋... 查看详情

qt下的几种透明效果(qpalette背景白色,窗口设置setwindowopacity,qpainter使用clear模式绘图)

1.窗口整体透明,但是窗体上的控件不透明。  通过设置窗体的背景色来实现,将背景色设置为全透。QPalettepal=palette(); pal.setColor(QPalette::Background,QColor(0x00,0xff,0x00,0x00)); setPalette(pal);  试验效果:  窗 查看详情

字体图标的几种引入方式(代码片段)

图片缺点是增加了总文件大小,不能很好地进行“缩放”,因为放大和缩小会失真字体图标(iconfont)可做出跟图片一样的事,改变透明度、旋转度等,但其本质是文字,可以很随意地改变颜色、产生阴影、透明效果等,本身体... 查看详情

mfc中tooltip实现的几种方式

...:利用CWnd本身自身支持的tooptip来实现,这种方法适用给控件增加tooltip,非常方便和简单方法如下:1、在窗口中增加消息映射ON_NOTIFY_EX(TTN_NEEDTEXT,0,SetTipText)SetTipText是个回调函数,名字叫什么无所谓,符合原型就行了,原型下面... 查看详情

android控件随手势旋转

...我们需要的。当我们计算出夹角之后,只需要在手势监听中给view设置setRotation()既可以了。 查看详情

cssbackground-sizehtc无效的几种情况

...素是个伪元素,也不显示,迫于赶工期,不使用背景了,直接增加一个图片元素,一切都ok了  <!--background-size-polyfillv0.2.0|(c)2012-2013Lo 查看详情

计算中表示旋转的几种方法(代码片段)

如何表示旋转,可能的表示方法有:(1)轴-角(axis-angle)表示法。方便转换,几何意义明显(2)欧拉角表示法(3)旋转矩阵(rotationmatirces)法(4)四元数法第一种所谓轴-角表示法,是说任何的旋转情况都归类为下面这种情况,... 查看详情

android让一个控件按钮居于底部的几种方法

   android让一个控件按钮居于底部的几种方法1.采用linearlayout布局:android:layout_height="0dp"<!--这里不能设置fill_parent-->android:layout_weight="1"<!--这里设置layout_weight=1是最关键的,否则底部的LinearLayout无法到底部--&g 查看详情

[no0000124]wpf扩展控件behavior的几种方式(代码片段)

原文:[No0000124]WPF扩展控件Behavior的几种方式一、使用AttachedDependencyProperty的方式(1)定义AttachedDependencyPropertypublicstaticclassDigitsOnlyBehaviorpublicstaticboolGetIsDigitOnly(DependencyObjectobj)return(bool)obj.GetValue(IsDigitOnlyProperty);publicstaticvoidSetIsDigit... 查看详情

winform控件datagridview添加数据的几种方式(代码片段)

1:直接添加  在控件中设置好每列的名称 例如:DataGridViewRowrow=newDataGridViewRow();intj=dgv.Rows.Add(row);dgv.Rows[j].Cells[1].Value=值;dgv.Rows[j].Cells[2].Style.Font=newFont(dgv.Font,FontStyle.Bold);//设置字体加粗& 查看详情

selenium切换窗口的几种方法(代码片段)

第一种方法:使用场景:打开多个窗口,需要定位到新打开的窗口使用方法:#获取打开的多个窗口句柄windows=driver.window_handles#切换到当前最新打开的窗口driver.switch_to.window(windows[-1])举例说明:1#_._coding:utf-8_._23"""4:author:花花测试5... 查看详情

中给窗口增加蒙层

  需求介绍:在Qt应用程序中点击某按钮弹窗时希望主窗口能有一层透明的蒙版。实现方式在当前窗口的UI设计函数(例如QCurrentWindow::SetupWindowLayout())中加入:QWidget*m_pMaskLayer=nullptr;(写入头文件)   m_pMaskLayer=... 查看详情

css3在hover下的几种效果

CSS3在hover下的几种效果代码分享,CSS3在鼠标经过时的几种效果集锦效果一:360°旋转修改rotate(旋转度数)*{transition:All0.4sease-in-out;-webkit-transition:All0.4sease-in-out;-moz-transition:All0.4sease-in-out;-o-transition:All0.4sease-in-out; 查看详情

qt保持gui响应的几种方法(代码片段)

最开始使用Qt时就遇到过QTGui失去响应的问题,我是用多线程的方式解决的,然而通常来说,多线程是会降低程序的运行速度。之后,在使用QSqlQuery::execBatch()函数时,QtGui又失去响应,虽然多线程可以解决,但是如果能用单线程... 查看详情

gridview控件rowdatabound事件中获取列字段值的几种途径

protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){e.Row.Attributes.Add("onclick","javascript:alert(‘当前ID为:"+DataBinder.Eval(e.Row.Da 查看详情

flutter实现圆形头像的几种方法(代码片段)

...裁剪成不同形状,如圆形、方形、椭圆等;将一个复杂的控件裁剪成更容易理解的形状;裁剪过大的图片或元素,以避免溢出;使用ClipPath和ClipRect两个Widget结合,以创建更复杂的裁剪形状;使用ClipRRect裁剪控件成圆角矩形等等... 查看详情

android常用控件toast的几种效果实现(附源码)

Android中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用户设置的显示时间后自动消失。一.显示默认的Toast实现代码:1Toast.makeText(getApplicationContext(), "显示默认的Toast",Toast.LENGTH_LONG).sho... 查看详情