Pyqt licensing
Author: g | 2025-04-24
[PyQt] PyQt Licensing Darren Dale dsdale24 at gmail.com Wed May 6 :. Previous message: [PyQt] PyQt Licensing Next message: [PyQt] Re: PyQt Licensing Messages sorted by: On Wed, at, Henrik Find Pyqt License Latest News, Videos Pictures on Pyqt License. Explore more on Pyqt License at Anandabazar.com
[PyQt] PyQt Licensing - riverbankcomputing.com
Do have a bit of confusion here.> > Prashant> > > ----- Original Message ----> From: Richard Esplin richard-lists at esplins.org>> To: pyqt at riverbankcomputing.com> Sent: Wed, 9 December, 2009 12:55:01 PM> Subject: Re: [PyQt] PyQt Licensing Issue> > If you don't want to give away your code, you should buy the commercial license.> > Richard> > On Wed 9 December 2009 00:12:45 james infield bimbam09 at gmail.com> wrote:> > Hello,> > > > That might be slightly off topic what do you mean by "...I won't be> > including the source code..." ?> > > > Is that your code or PyQt code ?> > Is there a way to release without giving your code and/or PyQt code ?> > > > bimbam Previous message: [PyQt] Question about popup menu Next message: [PyQt] PyQt Licensing Issue Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the PyQtmailing list
[PyQt] Licensing PyQt - riverbankcomputing.com
Richard Esplin richard-lists at esplins.org Wed Dec 9 15:32:04 GMT 2009 Previous message: [PyQt] Question about popup menu Next message: [PyQt] PyQt Licensing Issue Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Your confusion is understandable, especially with the recent Qt licensing changes made by Nokia.However, the licensing changes make it much less expensive to use PyQt to produce proprietary applications.The key thing to understand is that you need a separate license for each tool in your development stack. The Qt and PyQt licenses are different.Qt is released under the LGPL. You therefore only need to release your changes to the Qt source code itself. If you want to keep those changes proprietary, you need a commercial license.PyQt is released under the GPL. You therefore need to release all code you build using PyQt unless you purchase a commercial license.I previously had to avoid PyQt on client projects because of the costs of the PyQt + Qt development stack. However, I think the cost of PyQt alone is pretty reasonable.I'm redirecting this email back to the list so that someone will hopefully correct any errors I make in this explanation.Good luck,RichardOn Wed 9 December 2009 05:58:47 Prashant Saxena animator333 at yahoo.com> wrote:> Buying a commercial PyQt license is not a problem. But if in any case I would be needing files(.dll or .lib) from Qt SDK then I am sure> I have to buy Qt's commercial license also and that would be too costly.> > Right now I haven't done any test but I'll compile some application modules(.py) using (gcc+cython) for code protection> as well as speed gains. I don't if in this case PyQt's (.dll or .lib) files would do the job or I would be needing Qt's files also.> > I[PyQt] Licensing for PyQt? - riverbankcomputing.com
Import QQmlApplicationEngineapp = QGuiApplication(sys.argv)engine = QQmlApplicationEngine()engine.quit.connect(app.quit)engine.load('main.qml')sys.exit(app.exec())qmlimport QtQuick 2.15import QtQuick.Controls 2.15ApplicationWindow { visible: true width: 600 height: 500 title: "HelloApp" Text { anchors.centerIn: parent text: "Hello World" font.pixelSize: 24 }}Licensing for Qt Quick/QML applications is the same as for other PyQt/PySide apps.PyQtQML/PyQt5 TutorialQML/PyQt6 TutorialPyQt WebsitePyQt6 DocumentationPySideQML/PySide2 TutorialQML/PySide6 TutorialPySide WebsitePySide DocumentationGitHub RepositoryHello world application built using PyQt6 & QML, running on Windows 11KivyBest for Python mobile app developmentWhile most other GUI frameworks are bindings to toolkits written in other programming languages, Kivy is perhaps the only framework which is primarily written in pure Python. If you want to create touchscreen-oriented interfaces with a focus on mobile platforms such as Android and iOS, this is the way to go. This does run on desktop platforms (Windows, macOS, Linux) as well but note that your application may not look and behave like a native application. However, there is a pretty large community around this framework and you can easily find resources to help you learn it online.The look and feel of Kivy is extremely customizable, allowing it to be used as an alternative to libraries like Pygame (for making games with Python). The developers have also released a number of separate libraries for Kivy. Some provide Kivy with better integration and access to certain platform-specific features, or help package your application for distribution on platforms like Android and iOS. Kivy has it's own design language called Kv, which is similar to QML for Qt. It allows you to easily separate the interface design from your application's logic. There is a 3rd party add-on for Kivy named KivyMD that replaces Kivy's widgets with ones that are compliant with Google's Material Design.A simple hello world application in Kivy is shown below.Installation pip install kivyA simple hello world application in Kivy is shown below.pythonfrom kivy.app import Appfrom. [PyQt] PyQt Licensing Darren Dale dsdale24 at gmail.com Wed May 6 :. Previous message: [PyQt] PyQt Licensing Next message: [PyQt] Re: PyQt Licensing Messages sorted by: On Wed, at, Henrik Find Pyqt License Latest News, Videos Pictures on Pyqt License. Explore more on Pyqt License at Anandabazar.com[PyQt] PyQt license - riverbankcomputing.com
Joel B. Mohler joel at kiwistrawberry.us Thu Jun 23 21:32:47 BST 2011 Previous message: [PyQt] licensing Next message: [PyQt] Where may I get older Windows builds? Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] On Thursday, June 23, 2011 04:33:20 am Phil Thompson wrote:> On Wed, 22 Jun 2011 10:35:40 +0200, "KONTRA, Gergely"> pihentagy at gmail.com>> > wrote:> > Hi all!> > > > Maybe a bit offtopic and theoretical question:> > > > Suppose I'd like to write an app in python and Qt. I evaluate the> > possibilities, and see, that pyqt is more stable now, so I decide to> > begin coding with it (with the free version). When I make this> > decision, I already think to wait for a more complete/stable PySide> > binding and distribute my code which uses PySide (with a less> > restrictive license). Or I first release it with PyQt, but later on I> > find PySide, which has a less restrictive license.> > Is any of the above cases the violation of the License Terms? So is it> > legal? Is it fair?> > > > And consider another case: I begin to write my app with Pyside, and> > later release a version with pyqt at some point. Can I later release a> > newer PySide based version with license compatible with PySide (which> > is not compatible with pyqt's license)?> > > > Yet another case: I do a prototype with PyQt, and than hand-convert it> > to Qt/C++.> > You haven't said what license you want to use for your code. If you use> the GPL version of PyQt then your license must be compatible with the GPL.Sure, that's true *while* the application uses PyQt, but what about *after* PyQt is replaced with PySide? I suppose one could argue that there is some ethical commitment due to the history, but I'm not seeing any commitment in a legal technical sense. I think that after all technical reliance from PyQt is replaced by technical reliance on PySide, the project is freePyqt License: Read Pyqt License news - Anandabazar
Main difference between these two libraries is in licensing. The free-to-use version of PyQt is licensed under GNU General Public License (GPL) v3 but PySide is licensed under GNU Lesser General Public License (LGPL). This means that PyQt is limited GPL-licensed applications unless you purchase its commercial version, while PySide may be used in non-GPL applications without any additional fee. However, note that both these libraries are separate from Qt itself which also has a free-to-use, open source version and a paid, commercial version. For a more information see our article on PyQt vs PySide licensing.PySide6PySide6 BookPySide6 TutorialPySide WebsitePySide DocumentationGitHub RepositoryPyQt6PyQt6 BookPyQt6 TutorialPyQt WebsitePyQt6 DocumentationPyQt5PyQt5 BookPyQt5 TutorialPyQt6 DocumentationPyQt/PySide with QMLBest for Raspberry Pi, microcontrollers, industrial and consumer electronicsWhen using PyQt and PySide you actually have two options for building your GUIs. We've already introduced the Qt Widgets APIwhich is well-suited for building desktop applications. But Qt also provides a declarative API in the form of Qt Quick/QML.Using Qt Quick/QML you have access to the entire Qt framework for building your applications. Your UI consists of two parts: the Python code whichhandles the business logic and the QML which defines the structure and behavior of the UI itself. You can control the UI from Python, or useembedded Javascript code to handle events and animations.Qt Quick/QML is ideally suited for building modern touchscreen interfaces for microcontrollers or device interfaces -- for example, buildinginterfaces for microcontrollers like the Raspberry Pi. However you can also use it on desktop to build completely customized applicationexperiences, like those you find in media player applications like Spotify, or to desktop games.Installation pip install pyqt6 or pip install pyside6A simple Hello World app in PyQt6 with QML. Save the QML file in the same folder as the Python file, and run as normally.main.pymain.qmlpythonimport sysfrom PyQt6.QtGui import QGuiApplicationfrom PyQt6.QtQml[PyQt] PyQt Licensing Issue - riverbankcomputing.com
Will help you expand your knowledge and skills:PyQt6 Documentation: The official documentation is a comprehensive resource for understanding the capabilities and usage of PyQt6. PyQt6 DocumentationQt Documentation: The official documentation for Qt provides detailed information on QPainter and related classes. Qt DocumentationOnline Tutorials and Courses: Websites like Real Python, Udemy, and Coursera offer detailed tutorials and courses on PyQt6 and custom drawing, catering to different levels of expertise.Books: Books such as “Rapid GUI Programming with Python and Qt” by Mark Summerfield provide in-depth insights and practical examples for PyQt programming and custom drawing.Community and Forums: Join online communities and forums like Stack Overflow, Reddit, and the PyQt mailing list to connect with other developers, ask questions, and share knowledge.Sample Projects and Open Source: Explore sample projects and open-source PyQt6 applications on GitHub to see how others have implemented various features and functionalities.By leveraging these resources and continuously practicing, you’ll become proficient in PyQt6 and QPainter, enabling you to create impressive and functional applications with custom drawings.[PyQt] Re: PyQt Licensing - riverbankcomputing.com
Skip to content Navigation Menu GitHub Copilot Write better code with AI Security Find and fix vulnerabilities Actions Automate any workflow Codespaces Instant dev environments Issues Plan and track work Code Review Manage code changes Discussions Collaborate outside of code Code Search Find more, search less Explore Learning Pathways Events & Webinars Ebooks & Whitepapers Customer Stories Partners Executive Insights GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Enterprise platform AI-powered developer platform Pricing Provide feedback Saved searches Use saved searches to filter your results more quickly ;ref_cta:Sign up;ref_loc:header logged out"}"> Sign up Overview Repositories Projects Packages People Popular repositories Loading Learn to create a desktop app with Python and Qt Python 2.5k 585 Unofficial PyQt5 via PyPI for Python 2.7 64-bit on Windows QML 289 80 PyQt4 for Autodesk Maya 2016 Python 10 6 PyQt5 for Python 2.7 on Mavericks Python 5 5 PyQt4 for Autodesk Maya 2014 Python 3 2 PyQt4 for Autodesk Maya 2015 Python 3 1 Repositories --> Type Select type All Public Sources Forks Archived Mirrors Templates Language Select language All Python QML Sort Select order Last updated Name Stars Showing 9 of 9 repositories examples Public Learn to create a desktop app with Python and Qt pyqt/examples’s past year of commit activity python-qt5 Public Unofficial PyQt5 via PyPI for Python 2.7 64-bit on Windows pyqt/python-qt5’s past year of commit activity pyqt/maya2016-qt4’s past year of commit activity Python 10 6 0 0 Updated Apr 27, 2015 pyqt/python-qt5-mavericks’s past year of commit activity Python 5 5 0 0 Updated Apr 13, 2015 pyqt/maya2012-qt4’s past year of commit activity Python 1 GPL-3.0 1 0 0 Updated Apr 8, 2015 pyqt/maya2015-qt4’s past year of commit activity Python 3 GPL-3.0 1 0 0 Updated Apr 8, 2015 pyqt/pyqtdeploy’s past year of commit activity 2 BSD-3-Clause 1 0 0 Updated Nov 13, 2014 pyqt/maya2014-qt4’s past year of commit activity Python 3 GPL-3.0 2 1 0 Updated Oct 3, 2014 pyqt/maya2013-qt4’s past year of commit activity Python 2 GPL-3.0 1 0 0 Updated Oct 3, 2014 Most used topics Loading…. [PyQt] PyQt Licensing Darren Dale dsdale24 at gmail.com Wed May 6 :. Previous message: [PyQt] PyQt Licensing Next message: [PyQt] Re: PyQt Licensing Messages sorted by: On Wed, at, Henrik
[PyQt] Re: Licensing for PyQt? - riverbankcomputing.com
Find plenty of support and online learning resources to help you develop your application.Qt (and by extension PyQt & PySide) is not just a GUI library, but a complete application development framework. In addition to standard UI elements, such as widgets and layouts, Qt provides MVC-like data-driven views (spreadsheets, tables), database interfaces & models, graph plotting, vector graphics visualization, multimedia playback, sound effects & playlists and built-in interfaces for hardware such as printing. The Qt signals and slots models allows large applications to be built from re-usable and isolated components.While other toolkits can work great when building small & simple tools, Qt really comes into its own for building real commercial-quality applications where you will benefit from the pre-built components. This comes at the expense of a slight learning curve. However, for smaller projects Qt is not really any more complex than other libraries.Qt Widgets-based applications use platform native widgets to ensure they look and feel at home on Windows, macOS and Qt-based Linux desktops.Installation pip install pyqt6 or pip install pyside6A simple hello world application in PyQt6, using the Qt Widgets API is shown below.PyQt6PySide6pythonfrom PyQt6.QtWidgets import QMainWindow, QApplication, QPushButtonimport sysclass MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Hello World") button = QPushButton("My simple app.") button.pressed.connect(self.close) self.setCentralWidget(button) self.show()app = QApplication(sys.argv)w = MainWindow()app.exec()pythonfrom PySide6.QtWidgets import QMainWindow, QApplication, QPushButtonimport sysclass MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Hello World") button = QPushButton("My simple app.") button.pressed.connect(self.close) self.setCentralWidget(button) self.show()app = QApplication(sys.argv)w = MainWindow()app.exec() As you can see, the code is almost identical between PyQt & PySide, so it's not something to be concerned about when you start developing with either: you can always migrate easily if you need to.Hello world application built using PyQt6, running on Windows 11Before the Qt Company (under Nokia) released the officially supported PySide library in 2009, Riverbank Computing had released PyQt in 1998. ThePyQt/LICENSE at master PyQt5/PyQt - GitHub
Password, it doesn't implement any security strategies by default. Note that Remi is meant to be used as a desktop GUI framework and not for serving up web pages. If more than one user connects to the application at the same time, they will see and interact with the exact same things as if a single user was using it.Remi requires no prior knowledge of HTML or other similar web technologies. You only need to have a working understanding of Python to use it, which is then automatically translated to HTML. It also comes included with a drag n drop GUI editor that is akin to Qt Designer for PyQt and PySide.pythonimport remi.gui as guifrom remi import start, Appclass MyApp(App): def main(self): container = gui.VBox(width=120, height=100) # Create a button, with the label "Hello, World!" self.bt = gui.Button('Hello, World?') self.bt.onclick.do(self.on_button_pressed) # Add the button to the container, and return it. container.append(self.bt) return container def on_button_pressed(self, widget): self.bt.set_text('Hello, World!')start(MyApp)Remi is licensed under the Apache License v2.0, which is another 'permissive' license similar to the MIT License. The license allows using it in both open source and proprietary applications, while also allowing proprietary modifications to be made to the framework itself. Its main conditions revolve around the preservation of copyright and license notices.Hello world application built using Remi, running on Chrome on Windows 11GitHub RepositoryReddit (r/RemiGUI)ConclusionIf you're looking to build GUI applications with Python, there is probably a GUI framework/library listed here that fits the bill for your project. Try and weigh up the capabilities & licensing of the different libraries with the scale of your project, both now and in the future.Don't be afraid to experiment a bit with different libraries, to see which feel the best fit.While the APIs of GUI libraries are very different, they share many underlying concepts. [PyQt] PyQt Licensing Darren Dale dsdale24 at gmail.com Wed May 6 :. Previous message: [PyQt] PyQt Licensing Next message: [PyQt] Re: PyQt Licensing Messages sorted by: On Wed, at, Henrik Find Pyqt License Latest News, Videos Pictures on Pyqt License. Explore more on Pyqt License at Anandabazar.com[PyQt] Help with PyQt licensing question - riverbankcomputing.com
Pyqt-editable-list-widgetEasily editable QListWidgetGeneral InfoIn this QListWidget, persistent editor is automatically activated/deactivated when calling the addItem.Persistent editor will be closed if you press enter or up or down key or click somewhere else after editing.If you want to add the item consecutively, use setConsecutiveAddWhenEnterPressed(f: bool). You can add a new item again.You can edit existing items to double-click it or press F2.You have to call closeIfPersistentEditorStillOpen() before addItem. If you don't, old editor still remain open even though new editor was already opened.RequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-editable-list-widgetCode Exampleimport sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtGui import QIconfrom PyQt5.QtWidgets import QPushButton, QApplication, QCheckBox, QDialog,QVBoxLayout, QListWidgetItem, QWidget, QHBoxLayout, QLabelfrom pyqt_editable_list_widget import EditableListWidgetclass Dialog(QDialog): def __init__(self): super().__init__() self.__initUi() def __initUi(self): # topWidget start lbl = QLabel('Files') lay = QHBoxLayout() lay.setAlignment(Qt.AlignLeft) lay.addWidget(lbl) lay.setContentsMargins(0, 0, 0, 0) topWidget = QWidget() topWidget.setLayout(lay) # topWidget end # middleWidget start allChkBox = QCheckBox('Check All') left_lay = QHBoxLayout() left_lay.setAlignment(Qt.AlignLeft) left_lay.addWidget(allChkBox) left_lay.setContentsMargins(0, 0, 0, 0) btn_style = ''' QPushButton { border:0; background:transparent; padding:1px; } QPushButton:hover { background-color:#DDDDDD; border-radius: 2px; } QPushButton:pressed { background-color:#FFFFFF; border-radius: 2px; } QPushButton:checked { background-color: rgb(210, 210, 210); border-radius: 2px; border: none; } ''' addBtn = QPushButton() addBtn.clicked.connect(self.__add) addBtn.setStyleSheet(btn_style) addBtn.setIcon(QIcon('./ico/add.png')) addBtn.setToolTip('Add') delBtn = QPushButton() delBtn.clicked.connect(self.__delete) delBtn.setStyleSheet(btn_style) delBtn.setIcon(QIcon('./ico/delete.png')) delBtn.setToolTip('Delete') right_lay = QHBoxLayout() right_lay.setAlignment(Qt.AlignRight) right_lay.addWidget(addBtn) right_lay.addWidget(delBtn) right_lay.setContentsMargins(0, 0, 0, 0) lay = QHBoxLayout() lay.addLayout(left_lay) lay.addLayout(right_lay) lay.setContentsMargins(0, 0, 0, 0) middleWidget = QWidget() middleWidget.setLayout(lay) # middleWidget end # bottomWidget self.__bottomWidget = EditableListWidget() # mainWidget start lay = QVBoxLayout() lay.addWidget(topWidget) lay.addWidget(middleWidget) lay.addWidget(self.__bottomWidget) lay.setContentsMargins(0, 0, 0, 0) mainWidget = QWidget() mainWidget.setLayout(lay) lay = mainWidget.layout() lay.setContentsMargins(5, 5, 5, 5) self.setLayout(lay) # mainWidget end def __add(self): self.__bottomWidget.closeIfPersistentEditorStillOpen() # You have to call this. item = QListWidgetItem('abc') self.__bottomWidget.addItem(item) def __delete(self): item = self.__bottomWidget.currentItem() if item: self.__bottomWidget.takeItem(self.__bottomWidget.currentRow())if __name__ == "__main__": app = QApplication(sys.argv) dialog = Dialog() dialog.show() sys.exit(app.exec_())Comments
Do have a bit of confusion here.> > Prashant> > > ----- Original Message ----> From: Richard Esplin richard-lists at esplins.org>> To: pyqt at riverbankcomputing.com> Sent: Wed, 9 December, 2009 12:55:01 PM> Subject: Re: [PyQt] PyQt Licensing Issue> > If you don't want to give away your code, you should buy the commercial license.> > Richard> > On Wed 9 December 2009 00:12:45 james infield bimbam09 at gmail.com> wrote:> > Hello,> > > > That might be slightly off topic what do you mean by "...I won't be> > including the source code..." ?> > > > Is that your code or PyQt code ?> > Is there a way to release without giving your code and/or PyQt code ?> > > > bimbam Previous message: [PyQt] Question about popup menu Next message: [PyQt] PyQt Licensing Issue Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] More information about the PyQtmailing list
2025-04-23Richard Esplin richard-lists at esplins.org Wed Dec 9 15:32:04 GMT 2009 Previous message: [PyQt] Question about popup menu Next message: [PyQt] PyQt Licensing Issue Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] Your confusion is understandable, especially with the recent Qt licensing changes made by Nokia.However, the licensing changes make it much less expensive to use PyQt to produce proprietary applications.The key thing to understand is that you need a separate license for each tool in your development stack. The Qt and PyQt licenses are different.Qt is released under the LGPL. You therefore only need to release your changes to the Qt source code itself. If you want to keep those changes proprietary, you need a commercial license.PyQt is released under the GPL. You therefore need to release all code you build using PyQt unless you purchase a commercial license.I previously had to avoid PyQt on client projects because of the costs of the PyQt + Qt development stack. However, I think the cost of PyQt alone is pretty reasonable.I'm redirecting this email back to the list so that someone will hopefully correct any errors I make in this explanation.Good luck,RichardOn Wed 9 December 2009 05:58:47 Prashant Saxena animator333 at yahoo.com> wrote:> Buying a commercial PyQt license is not a problem. But if in any case I would be needing files(.dll or .lib) from Qt SDK then I am sure> I have to buy Qt's commercial license also and that would be too costly.> > Right now I haven't done any test but I'll compile some application modules(.py) using (gcc+cython) for code protection> as well as speed gains. I don't if in this case PyQt's (.dll or .lib) files would do the job or I would be needing Qt's files also.> > I
2025-03-30Joel B. Mohler joel at kiwistrawberry.us Thu Jun 23 21:32:47 BST 2011 Previous message: [PyQt] licensing Next message: [PyQt] Where may I get older Windows builds? Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] On Thursday, June 23, 2011 04:33:20 am Phil Thompson wrote:> On Wed, 22 Jun 2011 10:35:40 +0200, "KONTRA, Gergely"> pihentagy at gmail.com>> > wrote:> > Hi all!> > > > Maybe a bit offtopic and theoretical question:> > > > Suppose I'd like to write an app in python and Qt. I evaluate the> > possibilities, and see, that pyqt is more stable now, so I decide to> > begin coding with it (with the free version). When I make this> > decision, I already think to wait for a more complete/stable PySide> > binding and distribute my code which uses PySide (with a less> > restrictive license). Or I first release it with PyQt, but later on I> > find PySide, which has a less restrictive license.> > Is any of the above cases the violation of the License Terms? So is it> > legal? Is it fair?> > > > And consider another case: I begin to write my app with Pyside, and> > later release a version with pyqt at some point. Can I later release a> > newer PySide based version with license compatible with PySide (which> > is not compatible with pyqt's license)?> > > > Yet another case: I do a prototype with PyQt, and than hand-convert it> > to Qt/C++.> > You haven't said what license you want to use for your code. If you use> the GPL version of PyQt then your license must be compatible with the GPL.Sure, that's true *while* the application uses PyQt, but what about *after* PyQt is replaced with PySide? I suppose one could argue that there is some ethical commitment due to the history, but I'm not seeing any commitment in a legal technical sense. I think that after all technical reliance from PyQt is replaced by technical reliance on PySide, the project is free
2025-04-19