Metadata-Version: 2.1
Name: pyqt-font-dialog
Version: 0.0.14
Summary: PyQt font dialog and widget
Home-page: https://github.com/yjg30737/pyqt-font-dialog.git
Author: Jung Gyu Yoon
Author-email: yjg30737@gmail.com
License: MIT
Description-Content-Type: text/markdown
License-File: LICENSE


# pyqt-font-dialog

PyQt "select the font" dialog and widget



## Requirements

PyQt5 >= 5.8



## Setup

`python -m pip install pyqt-font-dialog`



## Class/Method Overview

* `FontDialog(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.



## Usage

### 1. As a dialog

```python

dialog = FontDialog(textEdit.currentFont())

reply = dialog.exec()

if reply == QDialog.Accepted:

    textEdit.setCurrentFont(dialog.getFont())

```



### Preview

![image](https://user-images.githubusercontent.com/55078043/167970048-cd8e1d76-d2f2-4c63-964d-87158d8dc53c.png)



### 2. As a part of window

```python

from PyQt5.QtWidgets import QMainWindow, QApplication, QHBoxLayout, QWidget, QTextEdit

from pyqt_font_dialog.fontWidget import FontWidget





class Window(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)



    def fontChanged(self, font):

        self.__te.selectAll()

        self.__te.setFont(font)

        cur = self.__te.textCursor()

        cur.clearSelection()

        self.__te.setTextCursor(cur)





if __name__ == "__main__":

    import sys



    app = QApplication(sys.argv)

    ex = Window()

    ex.show()

    sys.exit(app.exec_())

```



### Preview



https://user-images.githubusercontent.com/55078043/189460933-387d3570-e153-4df9-8a21-d02a46fbfe64.mp4





