随笔分类 -  Qt-Widget背景

摘要:自定义控件时基类用了QWidget,发现qss设置不起作用,需要重载其paintEvent函数即可; 如下代码: void CCustomWidget::paintEvent(QPaintEvent*) 阅读全文
posted @ 2018-08-23 17:19 findumars 阅读(1466) 评论(0) 推荐(0) 编辑
摘要:关于Qt,设置一个widget的背景色后,希望子对象不受影响。 很久以前在QtForum上问过一个问题:http://www.qtforum.org/post/94103/setting-background-color-on-widgets-makes-child-widget-wrong-sty 阅读全文
posted @ 2018-01-16 21:31 findumars 阅读(1064) 评论(0) 推荐(0) 编辑
摘要:一界面重载函数使用方法:1在头文件里定义函数protected: void paintEvent(QPaintEvent *event); 2 在CPP内直接重载void ::paintEvent(QPaintEvent *){//重载函数体} 执行条件:界面有任何变动都会执行特别:有时候会积累变化 阅读全文
posted @ 2017-12-07 23:14 findumars 阅读(1457) 评论(0) 推荐(0) 编辑
摘要:1. 给QPushButton 增加背景图片:背景图片可根据Button大小自由缩放。 [cpp] view plain copy void setButtonBackImage(QPushButton *button,QString image,int sizeW, int sizeH) { // 阅读全文
posted @ 2017-10-20 18:40 findumars 阅读(2112) 评论(0) 推荐(0) 编辑
摘要:实现代码如下: [cpp] view plain copy m_pSplitter = new QSplitter(ui->frame_2); //将Splitter放在UI的frame_2中; m_pSplitter->setGeometry(ui->frame_2->x(),ui->frame_ 阅读全文
posted @ 2017-10-20 18:39 findumars 阅读(1116) 评论(0) 推荐(0) 编辑
摘要:1.窗口整体透明,但是窗体上的控件不透明。 通过设置窗体的背景色来实现,将背景色设置为全透。 QPalette pal = palette(); pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00)); setPalette(p 阅读全文
posted @ 2017-09-07 04:27 findumars 阅读(6883) 评论(0) 推荐(0) 编辑
摘要:整个窗体 当设置QT的窗体(QMainWindow, QDialog)时,直接用 [cpp] view plain copy targetForm->setWindowOpacity() [cpp] view plain copy [cpp] view plain copy 函数即可实现,效果为窗体 阅读全文
posted @ 2017-08-01 21:05 findumars 阅读(35405) 评论(0) 推荐(1) 编辑
摘要:1,父窗口透明// 设置背景图片 QPalette pa;setAutoFillBackground(true);pa.setBrush(QPalette::Background,QBrush(QPixmap("image/cloud.jpg")));setPalette(pa); //设置控制透明 阅读全文
posted @ 2017-08-01 20:49 findumars 阅读(3307) 评论(0) 推荐(0) 编辑
摘要:渐变,是指逐渐的,有规律性的变化,是一种规律性很强的现象。Qt提供了一个与渐变相关的QGradient类,目前支持三种渐变画刷,分别是线性渐变(QLinearGradient)、辐射渐变(QRadialGradient)、角度渐变(QConicalGradient),如下图所示: 从左到右依次为:线 阅读全文
posted @ 2017-08-01 20:12 findumars 阅读(643) 评论(0) 推荐(0) 编辑
摘要:这两天想做一个五子棋游戏,想从零开始自己绘制各种图片素材,将经验心得整理如下。 制作透明背景图片: void MyPainter::DrawKit() { QImage image(30, 30, QImage::Format_ARGB32); memset(image.bits(), 0x00, 阅读全文
posted @ 2017-07-21 23:35 findumars 阅读(6009) 评论(0) 推荐(0) 编辑
摘要:Qt浮动按钮的实现 效果如下: 图3 图3 估计很多做Qt有一定经验的朋友会觉得这个效果不难,但是这是一个需求奇葩的实际业务中做出的效果。笔者会想讲下客户的需求和整体框架的矛盾。 整个项目主要是由Qt搭建的,图上的地图是JavaScript实现的。显然要实现这个效果在地图控件中去实现在结构上会更加合 阅读全文
posted @ 2017-06-30 17:52 findumars 阅读(5152) 评论(0) 推荐(0) 编辑
摘要:本文主要是解决Qt中QGraphicsAbstractShapeItem,QPixmap,QPainter等组件的透明化显示问题。在Qt中定义了一个常量,用于设置透明的颜色,即Qt::transparent,表示RGBA值为(0,0,0,0)的透明色。在QGraphicsAbstractShapeI 阅读全文
posted @ 2017-05-23 19:14 findumars 阅读(5297) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-04-14 21:20 findumars 阅读(942) 评论(0) 推荐(0) 编辑
摘要:设置了透明以后,会有严重残影Qt::NoDropShadowWindowHint加上这个就可以了我最后从Qt的源码中找到了答案MaskWidget *MaskWidget::self = 0;MaskWidget::MaskWidget(QWidget *parent) : QWidget(pare 阅读全文
posted @ 2017-02-17 19:23 findumars 阅读(2173) 评论(0) 推荐(0) 编辑
摘要:QPainter默认只能在paintEvent里面调用,但是: 在其他事件中绘制窗体,提示信息如下:QPainter::begin: Paint device returned engine == 0, type: 1绘制操作应该在paintEvent中完成.有一个属性值,在构造函数中设置可以在pa 阅读全文
posted @ 2017-02-03 07:14 findumars 阅读(2199) 评论(0) 推荐(0) 编辑
摘要:【问题】两个textedit,取名为view0,view1。实现view0输入固定的字符个数后,用setFocus切换聚焦到view1,但是切换完了之后view0还会保留光标残影,出现两个文本框中都有光标的现象。 【解决】repaint(); 刷新文本框。在setFocus后加上这句就可以了。 ht 阅读全文
posted @ 2017-01-17 18:43 findumars 阅读(824) 评论(0) 推荐(0) 编辑
摘要:1. 给QPushButton 增加背景图片:背景图片可根据Button大小自由缩放。 [cpp] view plain copy void setButtonBackImage(QPushButton *button,QString image,int sizeW, int sizeH) { // 阅读全文
posted @ 2016-12-02 06:47 findumars 阅读(4270) 评论(0) 推荐(0) 编辑
摘要:方法1:可以通过代码ui->pushButton->setFocusPolicy(Qt::NoFocus)或在Qt Creator的属性列表中设置。 方法2:如果在嵌入式设备中需要通过按键切换控件,最简单的方法就是通过控件的focus来实现,就不能使用方法1 了。此时可以通过qss样式表来去掉虚线框 阅读全文
posted @ 2016-11-23 01:49 findumars 阅读(543) 评论(0) 推荐(0) 编辑
摘要:关于窗体透明,经常遇到,网上的资料倒不少,也不知道写的时候是否验证过,很多都不正确。。。今天就在此一一阐述! 以下各效果是利用以前写过的一个小程序作为示例进行讲解!(代码过多,贴主要部分) 正常状态 效果如下: 这部分代码就不贴了(主要讨论透明效果)。 一、全透明 setWindowOpacity( 阅读全文
posted @ 2016-10-29 00:06 findumars 阅读(34517) 评论(0) 推荐(1) 编辑
摘要:Qt paintevent事件 一.主要理解一下几个方法和属性: 1.QWidget * QScrollView::viewport () const 2.void QWidget::paintEvent ( QPaintEvent * ) [虚 保护] 3.void QWidget::repain 阅读全文
posted @ 2016-10-28 22:05 findumars 阅读(9317) 评论(0) 推荐(0) 编辑