개정판 46e67073
Add QEngineeringTextItem
DTI_PID/DTI_PID/App.py | ||
---|---|---|
22 | 22 |
from QEngineeringLineItem import QEngineeringLineItem |
23 | 23 |
from SymbolSvgItem import SymbolSvgItem |
24 | 24 |
from QGraphicsBoundingBoxItem import QGraphicsBoundingBoxItem |
25 |
from QEngineeringTextItem import QEngineeringTextItem |
|
25 | 26 |
from AppDocData import AppDocData |
26 | 27 |
import QDirTreeWidget, QPropertyTableWidget |
27 | 28 |
import QSymbolEditorDialog |
... | ... | |
385 | 386 |
item.angle = angle |
386 | 387 |
item.setPen(QPen(Qt.red, 20, Qt.SolidLine)) |
387 | 388 |
self.graphicsView.scene.addItem(item) |
388 |
''' |
|
389 | ||
390 |
# parse texts |
|
389 | 391 |
for text in root.iter('TEXTINFO'): |
390 | 392 |
x = float(text.find('X').text) |
391 | 393 |
y = float(text.find('Y').text) |
392 | 394 |
width = float(text.find('WIDTH').text) |
393 | 395 |
height = float(text.find('HEIGHT').text) |
394 |
item = QGraphicsBoundingBoxItem(x, y, width, height) |
|
395 |
item.setPen(QPen(Qt.blue, 20, Qt.SolidLine)) |
|
396 |
#item = QGraphicsBoundingBoxItem(x, y, width, height) |
|
397 |
#item.setPen(QPen(Qt.red, 1, Qt.SolidLine)) |
|
398 |
|
|
399 |
text = text.find('TEXT').text |
|
400 |
item = QEngineeringTextItem() |
|
401 |
item.setPlainText(text) |
|
402 |
item.setDefaultTextColor(Qt.blue) |
|
403 |
font = QFont('Arial', height*1.2) |
|
404 |
#font.setPixelSize(height) |
|
405 |
item.setFont(font) |
|
406 |
rect = item.boundingRect() |
|
407 |
transform = QTransform() |
|
408 |
transform.translate(x, y - round((rect.height()-height)*0.5)) |
|
409 |
sx = width/rect.width() |
|
410 |
sy = height/rect.height() |
|
411 |
transform.scale(sx, 1) |
|
412 |
item.setTransform(transform) |
|
413 |
#item.setTextWidth(width) |
|
414 |
|
|
396 | 415 |
self.graphicsView.scene.addItem(item) |
397 |
'''
|
|
416 |
# up to here
|
|
398 | 417 |
except Exception as ex: |
399 | 418 |
print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)) |
400 | 419 |
내보내기 Unified diff