PyQt Irregularly Shaped Windows (e.g. A circular without a border/decorations)

2024/10/7 18:28:54

How do I create an irregularly shaped window in PyQt?

I found this C++ solution, however I am unsure of how to do that in Python.

Answer

Here you go:

from PyQt4 import QtGui, QtWebKit
from PyQt4.QtCore import Qt, QSizeclass RoundWindow(QtWebKit.QWebView):def __init__(self):super(RoundWindow, self).__init__()self.initUI()def initUI(self):self.setWindowFlags(Qt.FramelessWindowHint)self.setAttribute(Qt.WA_TranslucentBackground)def sizeHint(self):return QSize(300,300)def paintEvent(self, event):qp = QtGui.QPainter()qp.begin(self)qp.setRenderHint(QtGui.QPainter.Antialiasing);qp.setPen(Qt.NoPen);qp.setBrush(QtGui.QColor(255, 0, 0, 127));qp.drawEllipse(0, 0, 300, 300);qp.end()a = QtGui.QApplication([])
rw = RoundWindow()
rw.show()
a.exec_()

Screenshot

I've never written C++ in my life, but reading that code example was not that hard. You'll find that most Qt documentation online is in C++, so it's useful to at least be able to read.

https://en.xdnf.cn/q/70218.html

Related Q&A

default values for variable argument list in Python

Is it possible to set a default value for a variable argument list in Python 3?Something like:def do_it(*args=(2, 5, 21)):passI wonder that a variable argument list is of type tuple but no tuple is ac…

Python error: execute cannot be used while an asynchronous query is underway

How do I prevent the error “ProgrammingError: execute cannot be used while an asynchronous query is underway”? From the docs it says that I should use psycopg2.extras.wait_select if I’m using a cor…

Clearing Django form fields on form validation error?

I have a Django form that allows a user to change their password. I find it confusing on form error for the fields to have the *ed out data still in them.Ive tried several methods for removing form.dat…

How to watch xvfb session thats inside a docker on remote server from my local browser?

Im running a docker (That I built on my own), thats docker running E2E tests. The browser is up and running but I want to have another nice to have feature, I want the ability of watching the session o…

Flask WSGI application hangs when import nltk

I followed the instructions here to create a onefile flask-app deployed to apache2 with mod-wsgi on ubuntu. That all works fine when using the original flask app. However, when adding import nltk to th…

python append folder name to filenames in all sub folders

I am trying to append the name of a folder to all filenames within that folder. I have to loop through a parent folder that contain sub folders. I have to do this in Python and not a bat file.Example i…

When ruamel.yaml loads @dataclass from string, __post_init__ is not called

Assume I created a @dataclass class Foo, and added a __post_init__ to perform type checking and processing.When I attempt to yaml.load a !Foo object, __post_init__ is not called.from dataclasses import…

How is the python module search path determined on Mac OS X?

When a non built-in module is imported, the interpreter searches in the locations given by sys.path. sys.path is initialized from these locations (http://docs.python.org/library/sys.html#sys.path):the …

Apply Mask Array 2d to 3d

I want to apply a mask of 2 dimensions (an NxM array) to a 3 dimensional array (a KxNxM array). How can I do this?2d = lat x lon 3d = time x lat x lonimport numpy as npa = np.array([[[ 0, 1, 2],[ 3,…

Server Side Google Markers Clustering - Python/Django

After experimenting with client side approach to clustering large numbers of Google markers I decided that it wont be possible for my project (social network with 28,000+ users).Are there any examples …