成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

QtWidget 實現不規則窗體與按鈕

移動開發
本文接受的是QtWidget 實現不規則窗體與按鈕,QWidget類是所有用戶界面對象的基類,一個小小的實現效果技巧與大家分享。

QWidget有很多成員函數,但是它們中的一些有少量的直接功能:例如,QWidget有一個字體屬性,但是它自己從來不用。有很多繼承它的子類提供了實際的功能,比如QPushButton、QListBox和QTabDialog等等。

關鍵是使用

  1. void QWidget::setMask ( const QBitmap & bitmap )  
  2. void QWidget::setMask ( const QRegion & region )  
  3. void QWidget::setMask ( const QRegion & region )  
  4. Causes only the parts of the widget which overlap region to be visible.  

只有widget與region重疊的地方才會顯示出來. 自己構造一個QRegion就行了.

  1. void ShapedClock::resizeEvent(QResizeEvent * /* event */) {  
  2.     int side = qMin(width(), height());  
  3.     QRegion maskedRegion(width() / 2 - side / 2, height() / 2 - side / 2, side,  
  4.                          side, QRegion::Ellipse);  
  5.     setMask(maskedRegion);  

void QWidget::setMask ( const QBitmap & bitmap )

Causes only the pixels of the widget for which bitmap has a corresponding 1 bit to be visible. If the region includes pixels outside the rect() of the widget, window system controls in that area may or may not be visible, depending on the platform.

只有在bitmap中像素數據是1的地方才會顯示出widget的相應像素來. Bitmap就是像素數據只有兩個值: 0和1 (1 bit-depth, monochrome).

 

  1. QLabel topLevelLabel;  
  2. QPixmap pixmap(":/images/tux.png");  
  3. topLevelLabel.setPixmap(pixmap); 

     topLevelLabel.setMask(pixmap.mask()); // 可以不使用轉換的, 使用一張專門的bitmap圖片.上面的這些方式用一普通的QWidget就可以了. 當然, 對于窗口而言, 很多時候我們要把它的標題欄去掉:widget->setWindowFlags(Qt::FramelessWindowHint);但是對于不規則的QPushButton就有些特殊, 要使用QIcon來處理:

  1. button->setIcon(QIcon("xxx.png"));
  2. button->setIconSize(w, h);
  3. button->setMask(maskBitmap/*maskedRegion*/);
  4. button->setFixedSize(w, h);   // 這個當然最好使用它的icon的大小. 

小結:QtWidget 實現不規則窗體與按鈕的內容介紹完了,編程的友人們總是喜歡做些比較炫的效果,QtWidget幫了我們的大忙!最后希望本文對你有幫助。

責任編輯:zhaolei 來源: 互聯網
相關推薦

2015-07-17 13:31:20

按鈕單獨控制

2010-08-31 09:46:23

C#

2009-12-25 10:20:28

WPF窗口

2010-09-08 17:20:42

CSS

2009-07-10 11:31:45

Swing支持透明和不規則窗口

2010-01-11 15:31:04

VB.NET拖動窗體

2015-02-02 16:21:26

android瀑布流圖片加載

2010-09-14 10:34:17

DIV CSS

2020-11-10 15:22:46

算法PythonIoU

2021-03-30 07:47:46

SVG 濾鏡 CSS技巧

2022-12-22 08:34:22

CSS不規則圖形

2009-09-07 04:59:12

C#模式窗體

2011-06-15 09:24:36

Qt Widget Model

2009-09-07 06:56:46

C#透明窗體

2011-06-20 17:17:11

Qt Widget QWidget

2011-06-20 16:54:40

Qt Widget model

2022-12-28 07:48:40

六邊形動畫CSS

2024-01-03 08:30:54

Redis分布式項目

2011-02-16 14:15:58

FringAndroid應用iOS應用

2009-09-01 18:06:06

c#保存窗體狀態
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产分类视频 | 国产精品久久久久免费 | 日本免费小视频 | 亚洲精品久久久久久久久久久久久 | 亚洲欧美综合精品久久成人 | 欧美一区二区三区视频 | 色婷婷综合在线观看 | 999精品视频在线观看 | 天天综合网永久 | 欧美日韩一区二区三区四区 | 免费播放一级片 | 久久最新 | 二区不卡 | 韩日免费视频 | www.788.com色淫免费| 日韩毛片在线免费观看 | 国产视频一区二区三区四区五区 | 看a级黄色毛片 | 亚洲视频一区在线播放 | 国产精品久久久久久婷婷天堂 | 国产成人免费视频网站高清观看视频 | 黄色毛片免费看 | 毛片网站在线观看视频 | 亚洲福利片 | 国产亚洲精品综合一区 | 99re在线视频 | 精品久久久久久18免费网站 | 日本淫视频 | 亚洲免费视频网站 | 久久久久国产精品 | 国产精品久久久久久久久久久久 | 亚洲国产精品成人久久久 | 精品视频成人 | 精品欧美一区二区精品久久久 | 成人a视频在线观看 | 国产精品成人久久久久 | 日韩精品四区 | 精品久久九九 | 亚洲视频免费在线观看 | 日韩中文字幕高清 | 一区影院|