forked from NORBI273COOL/PyQT-projectYandex-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbrush_settings_dialog.py
34 lines (26 loc) · 1.17 KB
/
brush_settings_dialog.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from PyQt5.QtWidgets import QDialog, QColorDialog
from PyQt5.QtGui import QColor
from PyQt5 import uic
class BrushSettingsDialog(QDialog):
def __init__(self, mouse_pos, current_settings):
super().__init__()
uic.loadUi('brush_settings_dialog.ui', self)
self.move(mouse_pos)
self.spin_brush_size.setValue(current_settings.get('size'))
self.btn_brush_color.setStyleSheet(f'background-color: {current_settings.get("color").name()}')
self.btn_brush_color.setText(current_settings.get("color").name())
self.color = current_settings.get('color')
self.btn_brush_color.clicked.connect(self.select_color)
self.btn_apply.clicked.connect(self.close)
def select_color(self):
color = QColorDialog.getColor()
if color.isValid():
# get hex color
self.color = QColor(*color.getRgb())
self.btn_brush_color.setStyleSheet(f'background-color: {color.name()};')
self.btn_brush_color.setText(color.name())
def get_settings(self):
return {
'color': self.color if self.color else None,
'size': self.spin_brush_size.value()
}