1. 程式人生 > >Qt5.8 異形視窗

Qt5.8 異形視窗

#ifndef QT_SHAPEDWINDOW_H
#define QT_SHAPEDWINDOW_H

#include <QPainter>
#include <QtWidgets/QMainWindow>
#pragma execution_character_set("utf-8")

class Qt_Shapedwindow : public QMainWindow
{
	Q_OBJECT

public:
	Qt_Shapedwindow(QWidget *parent = 0);
	~Qt_Shapedwindow();

private:
	void paintEvent(QPaintEvent *);
};

#endif // QT_SHAPEDWINDOW_H
#include "qt_shapedwindow.h"
#include <QtWidgets/QPushButton>

Qt_Shapedwindow::Qt_Shapedwindow(QWidget *parent)
	: QMainWindow(parent)
{
	 this->setWindowOpacity(1); //視窗整體透明度,0-1 從全透明到不透明  
    this->setWindowFlags(Qt::FramelessWindowHint); //設定無邊框風格  
    this->setAttribute(Qt::WA_TranslucentBackground); //設定背景透明,允許滑鼠穿透  

	resize(1000, 666);

	QPixmap pixmap;
	pixmap.load("f:\\nn\\按鈕1.png");

	int nWidth = pixmap.width() * 2;
	int nHeight = pixmap.height() * 2;

	QPushButton * pBtn = new QPushButton(pixmap, "", this);

	pBtn->resize(pixmap.width(), pixmap.height());
	pBtn->move(1000 - pixmap.width(), 0);
	connect(pBtn, SIGNAL(clicked()), this, SLOT(close()));
}

Qt_Shapedwindow::~Qt_Shapedwindow()
{

}
void Qt_Shapedwindow::paintEvent(QPaintEvent *)
{
	QPainter p(this);
	QPixmap pix;
	pix.load("f:\\nn\\123.png");
	p.drawPixmap(0, 0, pix);
}
呼叫:
#include "qt_shapedwindow.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	Qt_Shapedwindow w;
	w.show();
	return a.exec();
}


執行結果:


相關推薦

Qt5.8 視窗

#ifndef QT_SHAPEDWINDOW_H #define QT_SHAPEDWINDOW_H #include <QPainter> #include <QtWidget

Qt開發:無邊框視窗,透明背景,可移動

很多端遊的啟動器客戶端都是異形視窗,無邊框,自繪並重寫了最小化、最大化、關閉按鈕。本文具體講一下實現。 步驟: 1,設定視窗透明度、視窗無邊框樣式、視窗背景透明。 2,準備ps過的帶透明通道的不規則png圖片,設定為視窗背景。 3,重寫滑鼠事件實現視窗移動。 看效果:

【win32】最簡單的視窗實現

void CTransparentWnd::SetupRegion(CDC *pDC, unsigned short MaskID) {  CDC     memDC;  CBitmap   cBitmap;  CBitmap*  pOldMemBmp = NULL;  CO

一個最簡單的Delphi2010的PNG視窗方法

同事演示了一個.NET的的PNG異形視窗.挺漂亮.於是也想用Delphi顯擺一個. 關於Delphi用PNG做異形視窗的資料有不少.都是用GDIPlus或者TPNGImage元件載入PNG影象做的.但是我很懶,不想引用的GDIPlus,也不想去找PNGImage下載. 好在從

河南省第六屆大學生程序設計競賽--

con -s pad space 傳感器 math.h 水題 amp 歷史 異 形 卵 Time Limit: 1 Second Memory Limit: 64 MB Description 我們探索宇宙,是想了解浩瀚星空的奧妙,但我們卻非常少意識到宇宙

qt5.8 鏈接mysql錯誤:driver not load

bsp logs ibm targe 轉載 解決方案 解決 target .dll 轉載請註明出處:http://www.cnblogs.com/dachen408/p/7155858.html 問題:qt5.8 鏈接mysql錯誤:driver not load。 解決

Qt5.8 下鏈接 Mysql 錯誤以及解決方法

之前 driver 遠程連接 疑問 bug set deb rst ext Qt 5.8 下鏈接 Mysql(Windows 平臺下),有朋友會出現一個這個無法連接的錯誤   QSqlDatabase: QMYSQL driver not loaded   QSqlDa

Qt5.8以上版本編譯Oracle數據庫的OCI驅動教程

+= pro 位置 htm 失效 director ref 們的 www 在前一篇的文章中我已經發過一個相似的文章,詳情請點擊:Qt5編譯oracle驅動教程。 在那一篇文章中已經可以解決了Qt5的常用版本的Oracle數據庫驅動的支持,但是在新的Qt開發工具中那種方法竟然

交叉編譯QT5.8支持directfb的問題

targe rect ocs p s lan store 交叉 tar style 戎輾奧貌鼓堆澈歐搗賂壞弛欠鄧http://shequ.docin.com/puzay110 智沾絳儐氨章燒疾競聰http://jz.docin.com/puzay110 以佬瘸士乜繞倫巒

Modbus客戶端 和 modbus服務器之間的通訊 偵聽模式的modbus-tcp客戶端通訊

讀取 blog 網絡請求 交互 實現 highlight box tcpclient install 前言 本文將使用一個Github公開的組件技術來實現一個異形ModBus TCP的客戶端,方便的對異形Modbus tcp的服務器進行讀寫,這個服務器可以是電腦端C#設

qt5.8.0之靜態編譯

http 感覺 AR 過度 最好的 外包 tail 安裝 sdn 仔細一算,接觸Qt也有六七年了,但總感覺自己仍是菜鳥一枚。小碩畢業進入公司後,進行某一設備的算法研究(matlab+vb,當時對qt是完全的小白),並應用於由外包人員開發的Qt項目。隨著項目深入

QT5.8+VS2015 開發時遇到的坑

移動位置 des 錯誤 sig 一個 更新 遇到 進行 開發 1. 問題: 一個平時能通過編譯的工程,拷貝一下或移動位置就編譯不通過,提示各種和QT庫有關的錯誤。 解決辦法:有可能是裝了兩個版本的QT庫,需要在project的QT project settings裏面

利用mask-image蒙層編寫頭像

自主 代碼 -s 普通 後臺 www size inf 程序 需求:後臺給了一個規規矩矩的頭像,或圓或方,UI要求展示成水滴的形狀。正在想到底如何實現的時候,不由自主去翻了鑫神的博客,正好找到了答案,竊喜(·_·) UI給的形狀: 後臺給的頭像(忽略橙色背景色,我加的..

卵 南陽acm709

時間 geo -a 約束 標記 stream 測試 %d arc 異 形 卵 時間限制:1000 ms | 內存限制:65535 KB 難度:2 描述 我們探索宇宙,是想了解浩瀚星空的奧妙,但我們卻很少意識到宇宙深處藏匿的危險,它們無時無刻不緊盯著我們的地球。如

按鈕點擊觸發

ini mini sin iou () col clas color 閾值 using UnityEngine; using UnityEngine.UI; public class IrregularButton : MonoBehaviour { void

按鈕點選觸發

using UnityEngine; using UnityEngine.UI; public class IrregularButton : MonoBehaviour { void Awake () { // 設定閾值 Image image = GetC

Qt5.8之QListWidgetItem的新增與刪除

1.實現的功能 在listWidget中水平添QListWidgetItem,點選按鈕刪除所有QListWidgetItem,下面直接上程式碼,程式碼中有每一步的註釋。 2.程式碼實現 #include "mainwindow.h" #include "ui_mainwindow.h" #incl

河南省第六屆大學生程式設計競賽 :

題目描述 我們探索宇宙,是想了解浩瀚星空的奧妙,但我們卻很少意識到宇宙深處藏匿的危險,它們無時無刻不緊盯著我們的地球。如果外星人拜訪我們,結果可能與哥倫布當年踏足美洲大陸不會有什麼兩樣,這是歷史,也是現實。 在ZDM-777星球上發現的休眠異形卵,其外表與常見的卵不同,表面被一層石墨覆蓋

Qt5.8之getOpenFileName,getSaveFileName,getOpenFileNames

1.標頭檔案   #include<QFileDialog> 2.用處   這幾個函式都是QFileDialog這個類中的靜態函式,可以呼叫當前系統的檔案對話方塊。具體來講:   getOpenFileName返回一個被使用者選中的檔案的路徑,前提是這個檔案是存在的。   getSave

河南省第六屆大學生程式設計競賽 ——

                        &nbs