개정판 a7a99841
text size test
Change-Id: I0bdc94ec873cba0dfdb969450a21bb959ef01dc9
DTI_PID/DTI_PID/Shapes/EngineeringTextItem.py | ||
---|---|---|
337 | 337 |
|
338 | 338 |
self.moveText(1, 0, delta) |
339 | 339 |
elif event.key() == Qt.Key_Plus or event.key() == 61: |
340 |
allowed_error = 0.01 |
|
340 | 341 |
modifiers = QApplication.keyboardModifiers() |
341 |
delta = False if modifiers == Qt.ControlModifier else True
|
|
342 |
delta = False if modifiers != Qt.ControlModifier else True
|
|
342 | 343 |
if delta: |
343 |
self.size[0] = self.size[0] + 5 |
|
344 |
else: |
|
345 | 344 |
self.size[1] = self.size[1] + 5 |
345 |
if abs(self.angle - 1.57) < allowed_error or abs(self.angle - 3.14) < allowed_error: |
|
346 |
self.loc[1] = self.loc[1] - 5 |
|
347 |
#self.moveText(0, 1, 5) |
|
348 |
else: |
|
349 |
self.size[0] = self.size[0] + 5 |
|
350 |
if abs(self.angle - 4.71) < allowed_error or abs(self.angle - 4.71) < allowed_error or abs(self.angle - 3.14) < allowed_error: |
|
351 |
self.loc[0] = self.loc[0] - 5 |
|
352 |
#self.moveText(1, 0, 5) |
|
353 |
|
|
346 | 354 |
self.update() |
355 |
self.update_font() |
|
347 | 356 |
elif event.key() == Qt.Key_Minus: |
357 |
allowed_error = 0.01 |
|
348 | 358 |
modifiers = QApplication.keyboardModifiers() |
349 |
delta = False if modifiers == Qt.ControlModifier else True
|
|
359 |
delta = False if modifiers != Qt.ControlModifier else True
|
|
350 | 360 |
if delta: |
351 |
self.size[0] = self.size[0] - 5 |
|
361 |
if self.size[1] - 5 > 10: |
|
362 |
self.size[1] = self.size[1] - 5 |
|
363 |
if abs(self.angle - 1.57) < allowed_error or abs(self.angle - 3.14) < allowed_error: |
|
364 |
self.loc[1] = self.loc[1] + 5 |
|
365 |
#self.moveText(0, -1, 5) |
|
352 | 366 |
else: |
353 |
self.size[1] = self.size[1] - 5 |
|
367 |
if self.size[0] - 5 > 10: |
|
368 |
self.size[0] = self.size[0] - 5 |
|
369 |
if abs(self.angle - 4.71) < allowed_error or abs(self.angle - 4.71) < allowed_error or abs(self.angle - 3.14) < allowed_error: |
|
370 |
self.loc[0] = self.loc[0] + 5 |
|
371 |
#self.moveText(-1, 0, 5) |
|
372 |
self.update_font() |
|
354 | 373 |
self.update() |
355 | 374 |
elif event.key() == Qt.Key_M: |
356 | 375 |
from App import App |
... | ... | |
624 | 643 |
text_width = max(QFontMetricsF(font).width(_text), text_width) |
625 | 644 |
|
626 | 645 |
return text_width |
646 |
|
|
647 |
def update_font(self): |
|
648 |
app_doc_data = AppDocData.instance() |
|
649 |
configs = app_doc_data.getConfigs('Text Style', 'Font Name') |
|
650 |
fontName = configs[0].value if configs else 'Arial' |
|
651 |
configs = app_doc_data.getConfigs('Text Style', 'Font Size') |
|
652 |
fontSize = int(configs[0].value) if configs else -1 |
|
653 |
|
|
654 |
width = self.size[0] |
|
655 |
height = self.size[1] |
|
656 |
|
|
657 |
allowed_error = 0.01 |
|
658 |
if abs(self.angle - 1.57) < allowed_error or abs(self.angle - 4.71) < allowed_error: |
|
659 |
font = QFont(fontName, width if fontSize == -1 else fontSize) |
|
660 |
font.setBold(True) |
|
661 |
|
|
662 |
x_factor = width / QFontMetricsF(font).height() #self.text()).height() / line_count) |
|
663 |
y_factor = height / self.text_width(font) |
|
664 |
factor = min(x_factor, y_factor) |
|
665 |
font.setPointSizeF(font.pointSizeF() * factor) |
|
666 |
self.setFont(font) |
|
667 |
elif abs(self.angle - 3.14) < allowed_error: |
|
668 |
font = QFont(fontName, height if fontSize == -1 else fontSize) |
|
669 |
font.setBold(True) |
|
670 |
|
|
671 |
x_factor = width / self.text_width(font) |
|
672 |
y_factor = height / QFontMetricsF(font).height() #self.text()).height() / line_count) |
|
673 |
factor = min(x_factor, y_factor) |
|
674 |
font.setPointSizeF(font.pointSizeF() * factor) |
|
675 |
self.setFont(font) |
|
676 |
else: |
|
677 |
font = QFont(fontName, height if fontSize == -1 else fontSize) |
|
678 |
font.setBold(True) |
|
679 |
|
|
680 |
x_factor = width / self.text_width(font) |
|
681 |
y_factor = height / QFontMetricsF(font).height() #.boun(self.text()).height() / line_count) |
|
682 |
factor = min(x_factor, y_factor) |
|
683 |
font.setPointSizeF(font.pointSizeF() * factor) |
|
684 |
self.setFont(font) |
|
627 | 685 |
|
628 | 686 |
def update_shape(self): |
629 | 687 |
"""update text shape""" |
내보내기 Unified diff