1. add customlogo.cpp reset adjustment function.
This commit is contained in:
parent
734b3d1303
commit
b6dad9cc18
@ -15,9 +15,9 @@
|
|||||||
#define DEMO_BG_PATH ":/NameCreater/resource/custom_logo/bg_1.jpg"
|
#define DEMO_BG_PATH ":/NameCreater/resource/custom_logo/bg_1.jpg"
|
||||||
|
|
||||||
#define KEY_DEMO_BG_ITEM 10
|
#define KEY_DEMO_BG_ITEM 10
|
||||||
#define KEY_WORD_ITEM 99
|
#define KEY_WORD_ITEM 100
|
||||||
#define KEY_WORD_ITEM_X_POS 100
|
#define KEY_WORD_ITEM_X_POS 101
|
||||||
#define KEY_WORD_ITEM_Y_POS 101
|
#define KEY_WORD_ITEM_Y_POS 102
|
||||||
#define DEMO_WORD_UNICODE "\u92ea\u96dc\u5152"
|
#define DEMO_WORD_UNICODE "\u92ea\u96dc\u5152"
|
||||||
|
|
||||||
static QPointF BG_POS_START = QPointF(159, 61);
|
static QPointF BG_POS_START = QPointF(159, 61);
|
||||||
@ -68,6 +68,7 @@ CustomLogo::CustomLogo(QFont* font, QDialog* parent) :
|
|||||||
connect(ui->load_list_btn, &QPushButton::released, this, &CustomLogo::onClickedBtn);
|
connect(ui->load_list_btn, &QPushButton::released, this, &CustomLogo::onClickedBtn);
|
||||||
connect(ui->color_btn, &QPushButton::released, this, &CustomLogo::onClickedBtn);
|
connect(ui->color_btn, &QPushButton::released, this, &CustomLogo::onClickedBtn);
|
||||||
connect(ui->reset_adjust_btn, &QPushButton::released, this, &CustomLogo::onClickedBtn);
|
connect(ui->reset_adjust_btn, &QPushButton::released, this, &CustomLogo::onClickedBtn);
|
||||||
|
connect(ui->double_checkbox, &QCheckBox::clicked, this, &CustomLogo::onCheckboxClicked);
|
||||||
|
|
||||||
connect(ui->x_adjust_slider, &QSlider::valueChanged, this, &CustomLogo::onSliderValueChanged);
|
connect(ui->x_adjust_slider, &QSlider::valueChanged, this, &CustomLogo::onSliderValueChanged);
|
||||||
connect(ui->y_adjust_slider, &QSlider::valueChanged, this, &CustomLogo::onSliderValueChanged);
|
connect(ui->y_adjust_slider, &QSlider::valueChanged, this, &CustomLogo::onSliderValueChanged);
|
||||||
@ -125,16 +126,28 @@ void CustomLogo::createDemoGraphicItemBG(const QPixmap& img)
|
|||||||
{
|
{
|
||||||
demo_scene.clear();
|
demo_scene.clear();
|
||||||
|
|
||||||
|
bool isReverse = ui->double_checkbox->isChecked();
|
||||||
|
|
||||||
QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(img);
|
QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(img);
|
||||||
name_bgItem->setData(KEY_DEMO_BG_ITEM, KEY_DEMO_BG_ITEM);
|
name_bgItem->setData(KEY_DEMO_BG_ITEM, KEY_DEMO_BG_ITEM);
|
||||||
name_bgItem->setPos(10, 10);
|
name_bgItem->setPos(10, 10);
|
||||||
demo_scene.addItem(name_bgItem);
|
demo_scene.addItem(name_bgItem);
|
||||||
|
|
||||||
QGraphicsRectItem* name_rectItem = new QGraphicsRectItem(QRectF(0, 0, name_bgItem->boundingRect().width(), name_bgItem->boundingRect().height() / 2), name_bgItem);
|
QGraphicsRectItem* name_rectItem = NULL, * name_reverse_rectItem = NULL;
|
||||||
|
|
||||||
|
name_rectItem = new QGraphicsRectItem(QRectF(0, 0, name_bgItem->boundingRect().width(), name_bgItem->boundingRect().height() / 2), name_bgItem);
|
||||||
name_rectItem->setPen(QPen(QColor(0, 0, 0, 255)));
|
name_rectItem->setPen(QPen(QColor(0, 0, 0, 255)));
|
||||||
|
|
||||||
QString name = QString(DEMO_WORD_UNICODE);
|
if (isReverse) {
|
||||||
|
name_reverse_rectItem = new QGraphicsRectItem(name_rectItem->rect(), name_bgItem);
|
||||||
|
name_reverse_rectItem->setPen(QPen(QColor(0, 0, 0, 0)));
|
||||||
|
name_reverse_rectItem->setPos(name_bgItem->boundingRect().width(), name_bgItem->boundingRect().height());
|
||||||
|
name_reverse_rectItem->setRotation(180);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
QString name = QString(DEMO_WORD_UNICODE);
|
||||||
int name_len = name.length();
|
int name_len = name.length();
|
||||||
QPointF pos = NAME_OFFSET_START;
|
QPointF pos = NAME_OFFSET_START;
|
||||||
qreal y_offset = 0;
|
qreal y_offset = 0;
|
||||||
@ -143,6 +156,8 @@ void CustomLogo::createDemoGraphicItemBG(const QPixmap& img)
|
|||||||
y_offset = 55;
|
y_offset = 55;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (int k = 0; k < name_len; k++) {
|
for (int k = 0; k < name_len; k++) {
|
||||||
QGraphicsCloneTextItem* textItem = new QGraphicsCloneTextItem(name.mid(k, 1), name_rectItem);
|
QGraphicsCloneTextItem* textItem = new QGraphicsCloneTextItem(name.mid(k, 1), name_rectItem);
|
||||||
textItem->setFont(*customFont);
|
textItem->setFont(*customFont);
|
||||||
@ -156,21 +171,13 @@ void CustomLogo::createDemoGraphicItemBG(const QPixmap& img)
|
|||||||
textItem->setData(KEY_WORD_ITEM_Y_POS, QVariant(_posY));
|
textItem->setData(KEY_WORD_ITEM_Y_POS, QVariant(_posY));
|
||||||
textItem->setPos(_posX+x_adjust_offset, _posY+y_adjust_offset);
|
textItem->setPos(_posX+x_adjust_offset, _posY+y_adjust_offset);
|
||||||
|
|
||||||
}
|
if (name_reverse_rectItem) {
|
||||||
|
QGraphicsCloneTextItem* _ti = ((QGraphicsCloneTextItem*)textItem)->clone(name_reverse_rectItem);
|
||||||
|
|
||||||
if (ui->double_checkbox->isChecked()) {
|
|
||||||
QGraphicsRectItem* name_reverse_rectItem = new QGraphicsRectItem(name_rectItem->rect(), name_bgItem);
|
|
||||||
name_reverse_rectItem->setPen(QPen(QColor(0, 0, 0, 0)));
|
|
||||||
name_reverse_rectItem->setPos(name_bgItem->boundingRect().width(), name_bgItem->boundingRect().height());
|
|
||||||
foreach(auto item, name_rectItem->childItems()) {
|
|
||||||
QGraphicsCloneTextItem* _ti = ((QGraphicsCloneTextItem*)item)->clone(name_reverse_rectItem);
|
|
||||||
_ti->setData(KEY_WORD_ITEM, QVariant(KEY_WORD_ITEM));
|
_ti->setData(KEY_WORD_ITEM, QVariant(KEY_WORD_ITEM));
|
||||||
|
_ti->setData(KEY_WORD_ITEM_X_POS, QVariant(_posX));
|
||||||
|
_ti->setData(KEY_WORD_ITEM_Y_POS, QVariant(_posY));
|
||||||
}
|
}
|
||||||
name_reverse_rectItem->setRotation(180);
|
|
||||||
qDebug() << "name_rect item child count:" << name_rectItem->childItems().size();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomLogo::updateDemoGraphicItemBG() {
|
void CustomLogo::updateDemoGraphicItemBG() {
|
||||||
@ -229,10 +236,8 @@ void CustomLogo::gerneraImageFromList(const QList<NameInfo_t>& nameList, Name_Ty
|
|||||||
scene.addItem(bg_item);
|
scene.addItem(bg_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
|
||||||
QPixmap _bg = ui->display_label->pixmap()->copy();
|
QPixmap _bg;
|
||||||
#else
|
|
||||||
QPixmap _bg; //= ui->display_label->pixmap().copy();
|
|
||||||
|
|
||||||
foreach(QGraphicsItem * item, demo_scene.items()) {
|
foreach(QGraphicsItem * item, demo_scene.items()) {
|
||||||
QVariant v = item->data(KEY_DEMO_BG_ITEM);
|
QVariant v = item->data(KEY_DEMO_BG_ITEM);
|
||||||
@ -243,9 +248,6 @@ void CustomLogo::gerneraImageFromList(const QList<NameInfo_t>& nameList, Name_Ty
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(_bg);
|
QGraphicsPixmapItem* name_bgItem = new QGraphicsPixmapItem(_bg);
|
||||||
bool rot = (idx == 10 || idx == 11);
|
bool rot = (idx == 10 || idx == 11);
|
||||||
@ -395,6 +397,19 @@ void CustomLogo::onSliderValueChanged(int value)
|
|||||||
updateDemoGraphicItemBG();
|
updateDemoGraphicItemBG();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CustomLogo::onCheckboxClicked(bool click)
|
||||||
|
{
|
||||||
|
foreach(QGraphicsItem * item, demo_scene.items()) {
|
||||||
|
QVariant v = item->data(KEY_DEMO_BG_ITEM);
|
||||||
|
if (v.toInt() == KEY_DEMO_BG_ITEM) {
|
||||||
|
QPixmap _bg = ((QGraphicsPixmapItem*)item)->pixmap().copy();
|
||||||
|
createDemoGraphicItemBG(_bg);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void CustomLogo::onClickedBtn() {
|
void CustomLogo::onClickedBtn() {
|
||||||
auto sender = (QPushButton*)QObject::sender();
|
auto sender = (QPushButton*)QObject::sender();
|
||||||
|
|||||||
@ -38,6 +38,7 @@ private Q_SLOTS:
|
|||||||
void onClickedBtn();
|
void onClickedBtn();
|
||||||
void onColorSelected(const QColor& color);
|
void onColorSelected(const QColor& color);
|
||||||
void onSliderValueChanged(int value);
|
void onSliderValueChanged(int value);
|
||||||
|
void onCheckboxClicked(bool click);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user