Saravanan666/pypi-org huggingface dataset:
Package: pyqt-editable-list-widget
pyqt-editable-list-widgetEasily editable QListWidgetGeneral InfoIn this QListWidget, persistent editor is automatically activated/deactivated when calling theaddItem.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, usesetConsecutiveAddWhenEnterPressed(f: bool). You can add a new item again.You can edit existing items to double-click it or press F2.You have to callcloseIfPersistentEditorStillOpen()beforeaddItem. 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 ExampleimportsysfromPyQt5.QtCoreimportQtfromPyQt5.QtGuiimportQIconfromPyQt5.QtWidgetsimportQPushButton,QApplication,QCheckBox,QDialog,QVBoxLayout,QListWidgetItem,QWidget,QHBoxLayout,QLabelfrompyqt_editable_list_widgetimportEditableListWidgetclassDialog(QDialog):def__init__(self):super().__init__()self.__initUi()def__initUi(self):# topWidget startlbl=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 startallChkBox=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# bottomWidgetself.__bottomWidget=EditableListWidget()# mainWidget startlay=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 enddef__add(self):self.__bottomWidget.closeIfPersistentEditorStillOpen()# You have to call this.item=QListWidgetItem('abc')self.__bottomWidget.addItem(item)def__delete(self):item=self.__bottomWidget.currentItem()ifitem:self.__bottomWidget.takeItem(self.__bottomWidget.currentRow())if__name__=="__main__":app=QApplication(sys.argv)dialog=Dialog()dialog.show()sys.exit(app.exec_())
Package: pyqtexcept
pyqtexceptpyqtexceptis a Python package that provides a convenient exception handling mechanism for PyQt5 applications.It includes a function to create a custom exception hook for displaying critical errors usingQMessageBox.InstallationYou can installpyqtexceptusing pip:pipinstallpyqtexceptUsageimportsysfromPyQt5importQtWidgetsfrompyqtexceptimportcreate_exceptions_hook# Create a PyQt application windowapp=QtWidgets.QApplication(sys.argv)window=QtWidgets.QWidget()# Set up the custom exception hooksys.excepthook=create_exceptions_hook(window)# Your PyQt application code goes here# Start the applicationwindow.show()sys.exit(app.exec_())Thecreate_exceptions_hookfunction sets up a custom exception hook usingsys.excepthookto display critical errors in aQMessageBox.LicenseThis package is distributed under the MIT License. See theLICENSEfile for more information.
Package: pyqt-explanation-balloon
pyqt-explanation-balloonPyQt explanation balloonRequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-explanation-balloonPreviewExplanation balloon can be used to explain certain widget. You can close this balloon with X button at the top right.You can set the widget which you want to describe with balloon.You can also set the size and content of balloon with constructor. Check the class overview below.This explanation balloon is perfectly responsive to window's resize/move/activate/deactivate event.Text alignment is set to the center, word is wrapped at word boundaries.Class/Method OverviewExplanationBalloon(widget, width: float, height: float, text: str)- Constructor.widgetis the widget which is supposed to be explained by explanation balloon.setBackgroundColor(color: QColor)- Set the background color. Text color will be also changed automatically based on background color.setFont(font: QFont)- Default function of Qt. You can set the font of text.ExamplefromPyQt5.QtGuiimportQFont,QColorfromPyQt5.QtWidgetsimportQMainWindow,QPushButton,QApplication,QVBoxLayout,QWidgetfrompyqt_explanation_balloon.explanationBalloonimportExplanationBalloonclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.__initUi()def__initUi(self):btn=QPushButton('Show explanation balloon')lay=QVBoxLayout()lay.addWidget(btn)mainWidget=QWidget()mainWidget.setLayout(lay)self.setCentralWidget(mainWidget)self.__eb=ExplanationBalloon(btn,300.0,200.0,'This is explanation balloon made out of PyQt')self.__eb.setFont(QFont('Arial',14))self.__eb.setBackgroundColor(QColor(50,50,50,255))btn.clicked.connect(self.__eb.show)if__name__=="__main__":importsysapp=QApplication(sys.argv)mainWindow=MainWindow()mainWindow.show()sys.exit(app.exec_())Result
Package: pyqt-ext
PyQt-extCollection of PyQt/PySide widgets/tools.PyQtAbstractTreeItemPyQtAbstractTreeModelPyQtAbstractTreeViewPyQtColorButtonPyQtKeyValueTreeItemPyQtKeyValueTreeModelPyQtKeyValueTreeViewPyQtMultiValueSpinBoxPyQtXYDataStyleInstallShould work with PySide6, PyQt6, or PyQt5.pipinstallPySide6pyqt-ext
Package: pyqt-feedback-flow
pyqt-feedback-flow --- Show feedback in toast-like notificationsDescription 📋On many occasions, notifications can be a valuable tool to inform a user about specific events. Sometimes, static notifications or pop-up windows may provide adequate feedback; however, there are some cases where flowing notifications can be more appropriate. ✨This software allows us to show flowing notifications in the realm of a text or a picture. Both text and pictures (raster and vector) can be customized according to the user's wishes, which offers a wide variety of possibilities for providing flowing feedback. 💬🖼️Text notification example 📜https://user-images.githubusercontent.com/73126820/167379237-7c85467d-133e-42c9-91fd-7e85f2481267.mp4Image notification example 🖼️https://user-images.githubusercontent.com/73126820/167380818-814cc1ce-d137-4906-b5a4-84af94c46d4a.mp4Installation 📦pipInstall this software with pip:pipinstallpyqt-feedback-flowAlpine LinuxTo install pyqt-feedback-flow on Alpine Linux, use:$apkaddpy3-pyqt-feedback-flowArch LinuxTo install pyqt-feedback-flow on Arch Linux, please use anAUR helper:$yay-Syyupython-pyqt-feedback-flowFedora LinuxTo install pyqt-feedback-flow on Fedora Linux, use:$dnfinstallpython3-pyqt-feedback-flowLicenseThis package is distributed under the MIT License. This license can be found online athttp://www.opensource.org/licenses/MIT.DisclaimerThis framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!
Package: pyqt-file-list-widget
pyqt-file-list-widgetPyQt QListWidget for files (Being able to drop the files based on user-defined extensions)RequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-file-list-widgetIncluded Packagespyqt-tooltip-list-widget- parent classpyqt-files-already-exists-dialogMethod OverviewaddFilenames(filenames: list, cur_filename: str = '')- Add files on the list.cur_filenameis current file name to set. Default is first one.setFilenames(filenames: list, cur_filename: str = '')- Clear the list before adding new files on the list.addDirectory(dirname: str, cur_filename: str = '')- Add files in directory.setDirectory(dirname: str, cur_filename: str = '')- Clear the list before adding new files on the list.setFilenameOnly(f: bool)- Show file name only. ex) C:...\abc.txt -> abc.txtisFilenameOnly() -> boolgetSelectedFilenames() -> listremoveSelectedRows()clear()- Overriding method.getAbsFilename(basename: str) -> str- Get the absolute file path with base file name.setExtensions(extensions: list)- Set the acceptable extensions of list.setDuplicateEnabled(f: bool)- Allow list to have duplicate item.isDuplicateEnabled() -> boolgetFilenameFromRow(r: int) -> strExampleSeepyqt-top-left-right-file-list-widget
Package: pyqt-files-already-exists-dialog
pyqt-files-already-exists-dialogPyQt files already exists dialog. Like "These files already exist. Would you add files except for these? (Yes/No)"RequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-files-already-exists-dialogIncluded packagesimplePyQt5ExampleGo to seepyqt-top-left-right-file-list-widget
Package: pyqt-finance
Copyright (c) 2017 Andrew PorterPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.Download-URL: https://github.com/AndrewRPorter/pyqt-finance/releasesDescription: ============pyqt-finance============Usage-----.. code:: pythonimport sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from pyqt_finance import QStockWidgetclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init__()self.graph = QStockWidget()self.graph.plot("AAPL")self.setCentralWidget(self.graph)self.show()if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()sys.exit(app.exec_())Screenshot----------.. image:: imgs/example-graph.pngLicense-------MIT LicenseCopyright (c) 2017 Andrew PorterPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the "Software"), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.Platform: UNKNOWN
Package: pyqt-find-path-widget
pyqt-find-path-widgetPyQt find path widget (QLabel - QLineEdit - QPushButton)RequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-find-path-widgetIncluded Packagespyqt-resource-helperFeaturefindClickedSignal will be emitted when find button clicksaddedSignal will be emitted when file's name is set in the QLineEdit"Open path" feature in context menuShowing tooltip to show full path when QLineEdit is too short to do soQLineEdit is set to read only in order to prevent malfunction from wrong input.Being able to usesetLabel(label: str)method to set the label. Label doesn't exist as default.ExamplefromPyQt5.QtWidgetsimportQApplication,QWidget,QVBoxLayout,QTextBrowserfrompyqt_find_path_widgetimportFindPathWidgetclassFindPathWidgetExample(QWidget):def__init__(self):super().__init__()self.__initUi()def__initUi(self):findPathWidget=FindPathWidget()findPathWidget.setExtOfFiles('Text Files (*.txt)')# Restrict file's extension to findfindPathWidget.findClicked.connect(self.__findClicked)# Signal will be emitted when find button clicksfindPathWidget.added.connect(self.__added)# Signal will be emitted when file's name is set in the QLineEditself.__textBrowser=QTextBrowser()# Widget to show text file's contentself.__textBrowser.setStyleSheet('QTextBrowser ''{''color: #DDD;''background-color: #444;''border: 1px solid #222;''}')# To match the style with FindPathWidgetself.setStyleSheet('QWidget { background-color: #666; }')# To match the style with FindPathWidgetlay=QVBoxLayout()lay.addWidget(findPathWidget)lay.addWidget(self.__textBrowser)self.setLayout(lay)def__findClicked(self):print('find clicked')def__added(self,filename):f=open(filename,'r')text=f.read()f.close()self.__textBrowser.setText(text)if__name__=="__main__":importsysapp=QApplication(sys.argv)searchMultiple=FindPathWidgetExample()searchMultiple.show()app.exec_()ResultMouse cursor should be next to that tooltip. Windows screenshot feature doesn't show the mouse cursor.
Package: pyqt-find-replace-text-widget
pyqt-find-replace-text-widgetPyQt widget which can find and replace text in the QTextEdit/QTextBrowserClass OverviewFindReplaceTextWidgetReplaceTextWidget (This module is supposed to be submodule of FindReplaceTextWidget)RequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-find-replace-text-widgetIncluded packagepyqt-find-text-widgetExampleI show you my full code sample. Set up this package, copy and paste this code to your IDE and run.fromPyQt5.QtWidgetsimportQMainWindow,QApplication,QGridLayout,QWidget,QTextEditfrompyqt_find_replace_text_widget.findReplaceTextWidgetimportFindReplaceTextWidgetclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.__initUi()def__initUi(self):self.__te=QTextEdit()self.__te.setStyleSheet('QTextEdit { selection-background-color: lightblue; }')self.__w=FindReplaceTextWidget(self.__te)lay=QGridLayout()lay.addWidget(self.__w)lay.addWidget(self.__te)mainWidget=QWidget()mainWidget.setLayout(lay)self.setCentralWidget(mainWidget)if__name__=="__main__":importsysapp=QApplication(sys.argv)mainWindow=MainWindow()mainWindow.show()sys.exit(app.exec_())ResultNote: Button icons in preview are obsolete. Back then button icons were PNG, but now these are brand-new good looking SVG!https://user-images.githubusercontent.com/55078043/146636169-eccd62b4-7964-40c1-a6c6-4fc813778a1e.mp4NoteThere is exclude button but i don't add feature on it. I will add proper feature on that one.. orsomeone please do this instead of me, so busy..
Package: pyqt-find-text-widget
pyqt-find-text-widgetPyQt widget which can be used to find text in QTextEdit/QTextBrowserRequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-find-text-widgetIncluded Packagespyqt-svg-buttonFeatureFind previous, next occurence based on text cursor's positionprev shortcut: Ctrl+Shift+Dnext shortcut: Ctrl+DMatch caseMakes find match only complete wordsProviding prev, next, close signalsEnable to set close button withsetCloseBtn(f: bool)I'm still working with regex feature.SignalprevClickednextClickedcloseSignalUsageCode SamplefromPyQt5.QtWidgetsimportQMainWindow,QApplication,QGridLayout,QWidget,QTextEditfrompyqt_find_text_widget.findTextWidgetimportFindTextWidgetclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.__initUi()def__initUi(self):self.__te=QTextEdit()self.__te.setStyleSheet('QTextEdit { selection-background-color: lightblue; }')# I wrote this code because color of default selection doesn't stand out in the white textedit screen.self.__w=FindTextWidget(self.__te)lay=QGridLayout()lay.addWidget(self.__w)lay.addWidget(self.__te)mainWidget=QWidget()mainWidget.setLayout(lay)self.setCentralWidget(mainWidget)if__name__=="__main__":importsysapp=QApplication(sys.argv)mainWindow=MainWindow()mainWindow.show()sys.exit(app.exec_())ResultNote: Button icons in preview are obsolete. Back then these icons were PNG, now these are SVG! So don't worry about the difference.https://user-images.githubusercontent.com/55078043/147844492-53b355ff-801a-4fca-bbef-c37fb55d1418.mp4Match case & complete word only examplehttps://user-images.githubusercontent.com/55078043/147844473-76474b51-2b2d-4680-82e4-8a67ab263db3.mp4
Package: pyqt-fitting-graphics-view
pyqt-fitting-graphics-viewPyQt QGraphicsView which always fit the aspect ratio mode asQt.KeepAspectRatioRequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-fitting-graphics-viewIncluded Packagepyqt-single-image-graphics-view- For inheriting classSingleImageGraphicsView
Package: pyqt-foldable-item-list-widget
pyqt-foldable-item-list-widgetPyQt QListWidget which itemWidget is foldableRequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-foldable-item-list-widgetIncluded Packagepyqt-svg-buttonExampleCode SamplefromPyQt5.QtWidgetsimportQPushButton,QVBoxLayout,QLineEdit,QTextEdit,QWidget,QApplicationfrompyqt_foldable_item_list_widgetimportFoldableListWidgetclassWidget(QWidget):def__init__(self):super().__init__()self.__initUi()def__initUi(self):addBtn=QPushButton('Add')addBtn.clicked.connect(self.__add)self.__foldableListWidget=FoldableListWidget()lay=QVBoxLayout()lay.addWidget(addBtn)lay.addWidget(self.__foldableListWidget)self.setLayout(lay)def__add(self):foldedItem=QLineEdit()foldedItem.setPlaceholderText('Input...')unfoldedItem=QTextEdit()unfoldedItem.setPlaceholderText('Input...')self.__foldableListWidget.setFoldableListWidgetItem(foldedItem,unfoldedItem)if__name__=="__main__":importsysapp=QApplication(sys.argv)widget=Widget()widget.show()app.exec_()ResultSee Alsopyqt-foldable-window
Package: pyqt-foldable-toolbar
pyqt-foldable-toolbarPyQt foldable/hidable toolbar. You can add widget withaddWidget(widget). You can see how to use it in the example below.There is fold/unfold animation to make it look better.RequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-foldable-toolbarIncluded Packagespyqt-svg-buttonExampleCode SamplefromPyQt5.QtWidgetsimportQApplication,QMainWindow,QTextEditfrompyqt_foldable_toolbarimportFoldableToolBarif__name__=="__main__":importsysapp=QApplication(sys.argv)mainWindow=QMainWindow()toolBar=FoldableToolBar()toolBar.addWidget(QTextEdit())mainWindow.addToolBar(toolBar)mainWindow.show()sys.exit(app.exec_())ResultUnfoldFoldHere's another example withSettingsDialoginpyqt-timer.UnfoldFold
Package: pyqt-font-dialog
pyqt-font-dialogPyQt "select the font" dialog and widgetRequirementsPyQt5 >= 5.8Setuppython -m pip install pyqt-font-dialogClass/Method OverviewFontDialog(font: QFont = QFont('Arial', 10), title='Font')- font is font, title is title of the dialog.getFont()- get the selected font.FontWidget(font: QFont = QFont('Arial', 10))fontChanged(QFont)- When current font item is changed, this will be emitted.getFont()- get the selected font.Usage1. As a dialogdialog=FontDialog(textEdit.currentFont())reply=dialog.exec()ifreply==QDialog.Accepted:textEdit.setCurrentFont(dialog.getFont())Preview2. As a part of windowfromPyQt5.QtWidgetsimportQMainWindow,QApplication,QHBoxLayout,QWidget,QTextEditfrompyqt_font_dialog.fontWidgetimportFontWidgetclassWindow(QMainWindow):def__init__(self):super().__init__()self.__initUi()def__initUi(self):self.__te=QTextEdit()fontWidget=FontWidget()fontWidget.fontChanged.connect(self.fontChanged)lay=QHBoxLayout()lay.addWidget(self.__te)lay.addWidget(fontWidget)mainWidget=QWidget()mainWidget.setLayout(lay)self.setCentralWidget(mainWidget)deffontChanged(self,font):self.__te.selectAll()self.__te.setFont(font)cur=self.__te.textCursor()cur.clearSelection()self.__te.setTextCursor(cur)if__name__=="__main__":importsysapp=QApplication(sys.argv)ex=Window()ex.show()sys.exit(app.exec_())Previewhttps://user-images.githubusercontent.com/55078043/189460933-387d3570-e153-4df9-8a21-d02a46fbfe64.mp4
Package: pyqt-gameboard
PyQtGameBoardPyQt5 widget that draws a board on the screen to include in games or map drawing application.Version0.20.2.6   Created QGameboard parent class for optimization and customization
0.2.5   Added optional size parameter for the size of the tiles
Added a rectangle board
changed pip name to pyqt-gameboard
0.2.4   removed some prints
0.2.3   fixed selection deleting previous overlays
split mousepress method so its easier to subclass
adding line of sight line
return list of tiles touched by line of sight0.2.2   Redone building board, zooming in / out and added selection of tile with drawing adjacent tilesInstallpip install pyqt-gameboardImportDirectly usableimport the directly usable boardsfrom pyqtgameboards.gameboards import QRectangleboard
from pyqtgameboards.gameboards import QHexagonboardGeneric parent class for custom shape gridsor import the parent class QGameboard to create a different style map than the defaultsfrom pyqtgameboards.gameboard import QGameboardmake sure to super the methods that need specific shape implementationadd_shape_to_scene # logic for adding a shape to a grid
get_adjacent_tiles # logic for determining the adjacent tilesHow toto try out, copying the following to open a widget with a hexagon board
This is a gameboard of 20 rows and 10 columns (feels like 20, as it only counts tiles at the same height)
This example creates designated tiles that receive a green fill with a thick green lineimport sys

from PyQt5 import QtWidgets, QtGui, QtCore

from pyqtgameboards.gameboard import QHexagonboard

if __name__ == '__main__':

    overlays = []

    overlay1brush = QtGui.QBrush(QtGui.QColor(0,255,0,150))
    overlay1pen = QtGui.QPen(QtGui.QColor(0,255,0), 3, QSolidLine)

    overlay1dict = {
        "Brush": overlay1brush,
        "Pen": overlay1pen,
        "Positions": [
            [1, 1], 
            [2, 1],
            [1, 2],
            [3, 3],
            ],
        }

    overlays.append(overlay1dict)

    global app
    app = QtWidgets.QApplication(sys.argv)
    global main
    main = QtWidgets.QMainWindow()

    main.setCentralWidget(QHexagonboard(
        horizontal = True, 
        rows = 20, 
        columns = 10,
        overlays = overlays,
        ))

    main.showMaximized()
    sys.exit(app.exec_())LicenceLicensed under GPL-3.0-or-later, see LICENSE file for details.Copyright Â© 2020 Michael-Yongshi.This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.You should have received a copy of the GNU General Public License along with this program. If not, seehttp://www.gnu.org/licenses/.
Package: pyqt-get-selected-filter
pyqt-get-selected-filterGet selected filter string for QFileDialogSetuppython -m pip install pyqt-get-selected-filterExample### code start ###frompyqt_get_selected_filterimportgetSelectedFilterlst=['.bmp','.jpg','.jpeg','.gif','.png']print(getSelectedFilter(lst))### code end ###>>(*.bmp*.jpg*.jpeg*.gif*.png)# result
Package: pyqtgraph-ext
PyQtGraph-extCollection ofPyQtGraphwidgets/tools.PyQtGraphAxisRegionItemPyQtGraphEventItemPyQtGraphPlotItemPyQtGraphPlotWidgetPyQtGraphViewBoxPyQtGraphXYDataItemInstallShould work with PySide6, PyQt6, or PyQt5.pipinstallPySide6pyqtgraph-ext