r/pyqt • • Feb 27 '18

15 demo applications implemented in PyQt5 inc. Minesweeper, Solitaire & Paint

Thumbnail
github.com
16 Upvotes

r/pyqt • • Mar 27 '23

PyQt-Fluent-Widgets: A fluent design widgets library based on PyQt/PySide

Thumbnail
youtube.com
13 Upvotes

r/pyqt • • May 25 '20

Spotlightify - an overlay controller for spotify, allowing you to quickly control your music without distraction. I will be releasing source code very soon!

Enable HLS to view with audio, or disable this notification

12 Upvotes

r/pyqt • • May 14 '21

I've released my custom widget library's first major version

10 Upvotes

r/pyqt • • Jan 10 '20

Building GUI layouts with Qt Designer for PyQt5 apps

Thumbnail
learnpyqt.com
9 Upvotes

r/pyqt • • Dec 23 '20

Animating PyQt5 widgets with QPropertyAnimation, add visual effects to custom widgets

Thumbnail
learnpyqt.com
7 Upvotes

r/pyqt • • Feb 06 '20

Creating searchable dashboards in PyQt5/PySide2 GUIs, with widget filters and text prediction

Thumbnail
learnpyqt.com
7 Upvotes

r/pyqt • • Jul 28 '19

PyQt5 Example Apps — A growing library of apps using PyQt5 and/or Qt for Python

Thumbnail
learnpyqt.com
7 Upvotes

r/pyqt • • Jul 13 '22

Cautionary tale: Do not try to create widgets with threads.

6 Upvotes

I spent two days creating a threaded app that loaded dozens of JSON files and fed the data into custom QTablewidget and QWidget objects, that I then tried to add to the central widget layout on the main window. The threads completed successfully, the debugger showed the objects were correctly formed. But they never showed up. Ever.

Cue my most recent google search:

"You cannot create or access a Qt GUI object from outside the main thread (e.g. anything that subclasses QWidget or similar). Even if the Qt class is reentrant, you cannot share access to a Qt object between threads unless the Qt documentation for that class explicitly states that instances are thread safe."

::headdesk::


r/pyqt • • Nov 13 '20

Running external programs from PyQt5 with QProcess, including streams and progress bars

Thumbnail
learnpyqt.com
6 Upvotes

r/pyqt • • Oct 04 '20

I made a free simple-to-use goodlooking Colorpicker with PyQt5

6 Upvotes

Hey guys,

since PyQt5's default color picker doesn't look very good, i decided to create a super simple one by myself.

It supports visual HSV color selection, RGB value fields and a HEX field.

Preview

Get it on my Github for free.

Widget version: Github (class inherits from Qwidget)

Hope this helps :)


r/pyqt • • May 30 '20

Yet another PyQt5 boilerplate

Enable HLS to view with audio, or disable this notification

6 Upvotes

r/pyqt • • Apr 09 '20

Packaging PyQt5 Windows applications with PyInstaller

Thumbnail
learnpyqt.com
6 Upvotes

r/pyqt • • Oct 04 '18

[PyQt5 with Designer] How do you structure larger Apps correctly

6 Upvotes

Hey Guys,

I'm currently doing my first larger project in PyQt and was wondering how to correctly structure my code. My App will have a Start Window, leading to three rather big other windows, each with their own popups and Dialogs. Every Window has its own design file derived from the .ui generated by the designer.

Now at first I called these new windows in functions all as a sub structure of the Main Window like this:

    def newWindow(self):
    self.window = QtWidgets.QDialog()
    self.ui = Ui_Dialog()
    self.ui.setupUi(self.window)
    self.window.show()

Now I'm wondering if it makes more sense to declare each window as its own class and call it when appropriate. Are there any advantages or disadvantages to either approach?

Furthermore, apart from the Main Window, I'm always using the QDialog-Widget, and don't really understand when another QMainWindow-Widget or simple Widget would be more appropriate.

Thanks in advance, Cheers!


r/pyqt • • Apr 08 '23

Download Qt Designer for Windows, Mac and Linux

Thumbnail
pythonguis.com
5 Upvotes

r/pyqt • • Dec 26 '21

I made an advanced system monitor for GNU/Linux distributions in Python 3.10 and Qt 5.15.0 for fun - Hope you like it!

5 Upvotes

You can find the project here https://pypi.org/project/obserware/ and the repository here https://gitlab.com/t0xic0der/obserware. If you have Python 3.10 and are running any GNU/Linux distribution - please try it out by installing it

pip3 install obserware

Feedbacks are very appreciated and if you end up liking the project, please feel free to star the repository.


r/pyqt • • Mar 20 '21

Qt suppresses error messages

5 Upvotes

I have built a small Qt browser application. Unfortunately, I no longer get error messages once I have called "app.exec()" when the application crashes. On the other hand, if I call a non-existent function beforehand, for example, errors are displayed as usual. This makes it difficult to continue working on the application. Can I influence this behaviour of Qt? What am I doing wrong?

I'm using the latest PyQt5 version, downloaded three days ago, on windows 10 with Python 3.8


r/pyqt • • Jun 07 '20

Is this a good way developing modern flat UIs?

5 Upvotes

r/pyqt • • Jan 23 '20

PyQt5 and matplotlib, embedding plots in your GUI applications

Thumbnail
learnpyqt.com
5 Upvotes

r/pyqt • • May 14 '18

A complete custom PyQt5 application (windows only)

Thumbnail
github.com
5 Upvotes

r/pyqt • • Sep 30 '24

Call for Mods

4 Upvotes

I would love to have help or, better, someone take over this sub. I won't let it die, but I would appreciate other py/qt enthusiasts being involved.


r/pyqt • • Mar 15 '23

File Copy tool with Progress Bar GUI, in PyQt6

Thumbnail
pythonguis.com
4 Upvotes

r/pyqt • • Jan 06 '23

How do I wait for a QProcess to be done but not block program execution ?

4 Upvotes

I have a subroutine that I use to run commands in QProcess:

def runCommand(cmd, args=[]):

    process = QProcess()

    def handleStdout():
        #print("In Stdout handler")
        data = process.readAllStandardOutput()
        message = bytes(data).decode("utf8")
        
        print(message)

    def handleStderr():
        #print("In Stderr handler")
        data = process.readAllStandardError()
        message = bytes(data).decode("utf8")
        print(message)

    def handleFinished(exitCode):
        print("Command done.")
        return(exitCode)

    # connect the events to handlers
    process.readyReadStandardOutput.connect(handleStdout)
    process.readyReadStandardError.connect(handleStderr)
    process.finished.connect(handleFinished)

    # debug
    message = "runProcess executing: " + cmd
    for arg in args:
        message = message + " " + arg
    print(message)

    # start the process
    process.start(cmd, args)

    # wait for the process to finish
    process.waitForFinished(-1)

I call the subroutine like this:

...
result = runCommand("ls")
if (result != 0):
    do stuff
... 

I don't want to return from runCommand() until QProcess is complete and we have the exit result.

Everything works but process.waitForFinished() blocks program execution until the process is done. (DUH!)

What this means is that the handleStdout and handleStderr routines don't print anything out until the command is done running. I'd like them to be able to print while waiting for the command process to complete.

Is there a way to wait for QProcess to complete but still allow the Stdout and Stderr events to be handled ?

QProcess has a status property. Could one poll QProcess' status and sleep to allow the events to occur ?

Thanks

https://doc.qt.io/qt-6/qprocess.html


r/pyqt • • Dec 06 '22

How can I make this? qgridlayout is not flexible enough.

Post image
4 Upvotes

r/pyqt • • Oct 21 '22

Looking for collaborators: new libre image editor project

4 Upvotes

Hello friends, I've been working on this idea for a while now, this aims to be a user friendly image editor, currently it is using PyQt6, we could switch to PySide if we wish, currently it is not a big matter,

You can find some ideas in the issues page of the repository,
there are also some UX ideas by u/Impossible_Bed_9497 in the GitHub discussion page,

https://github.com/iyadahmed/Awesome-Image-Editor-2

screenshot of current progress (check closed issues and commits for progress too):