pyqt創建透明窗體


好吧。。最下面的透明代碼是只透明窗體背景,不透明別的,

下面的是整體透明。兩個用處不一樣。。

 

 

—————————————深思熟慮后的分割線—————————————

 

 

忘了分割線之前寫的東西吧。。英文資源找到個辦法很合我要求,一句話就搞定。

#coding=utf-8

import sys
from PyQt4 import QtGui

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    trans = QtGui.QWidget()

    # 就這句就搞定了。。設置成0的話就是全透明,
    # 同時這個窗口也不會跟你交互了,要看不見又要交互,0.01吧。。
    # 我反正是這么干的。。簡單粗暴。。。。
    trans.setWindowOpacity(0.5)

    trans.show()
    sys.exit(app.exec_())

另附瞄准器傳送門:http://www.cnblogs.com/alanalan/archive/2012/10/03/2710669.html

 

 

—————————————又犯傻熬夜了的分割線—————————————

 

 

前天在宿舍打qq桌球,開玩笑說要做個外掛,於是嘗試到了現在。

本來想通過自學一點計算機圖形學的東西來幫助分析,最終還是沒能抵抗住睡魔。。於是乎歸順了網上的瞄准器方案,由用戶指定要打的洞和要打的球,然后給出他要瞄准的位置。

我的做法里用到了一個透明的窗體,看的教程里說qt很碉堡,想學一下,就找了pyqt來玩。折騰了一個多小時,終於小有成就,馬克之。

效果圖:

一個孤零零懸浮的按鈕。。。點擊關閉窗體。上代碼:

#coding=utf-8

import sys
from PyQt4 import QtGui, QtCore

class Trans(QtGui.QWidget):

    def __init__(self):
        super(Trans, self).__init__()
        self.initUI()
        button = QtGui.QPushButton('Close', self)
        self.connect(button, QtCore.SIGNAL('clicked()'), QtGui.qApp,
                     QtCore.SLOT('quit()'))

    def initUI(self):
        #self.setAttribute(QtCore.Qt.WA_NoSystemBackground, False)
        self.setAttribute(QtCore.Qt.WA_TranslucentBackground, True)
        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
        
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    trans = Trans()
    trans.show()
    sys.exit(app.exec_())


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM