添加InfoDisplay窗口自我刷新
parent
fef7668351
commit
21a973babd
|
@ -14,6 +14,7 @@ EditorWidget::EditorWidget(QWidget *parent) : QWidget(parent)
|
|||
connect(treeWidget, &LayerTreeWidget::displayLayerChange, this, &EditorWidget::onLayerChange);
|
||||
connect(layerInfoDisplayWidget, &InfoDisplayWidget::requireRefreshPreview, this,
|
||||
&EditorWidget::triggerRefreshPreview);
|
||||
connect(layerInfoDisplayWidget, &InfoDisplayWidget::requireSelfRefresh, layerInfoDisplayWidget, &InfoDisplayWidget::triggerSelfRefresh);
|
||||
// &EditorWidget::triggerRefreshPreview);
|
||||
// test
|
||||
QFile settingFile;
|
||||
|
|
|
@ -98,16 +98,23 @@ void InfoDisplayWidget::generateLayerForm()
|
|||
detailButton->setFixedSize(QSize(20, 20));
|
||||
deleteButton->setText("×");
|
||||
deleteButton->setFixedSize(QSize(20, 20));
|
||||
connect(detailButton, &QPushButton::clicked, [styleList, item, this]() {
|
||||
connect(detailButton, &QPushButton::clicked, [styleList, item, this, index]() {
|
||||
QDialog dlg(this);
|
||||
dlg.setWindowTitle("样式详情");
|
||||
dlg.resize(400, 200);
|
||||
auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Save | QDialogButtonBox::Cancel, &dlg);
|
||||
QGridLayout *contentLayout = new QGridLayout(&dlg);
|
||||
QLineEdit* name = new QLineEdit(styleNames[index], &dlg);
|
||||
auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Save | QDialogButtonBox::Cancel);
|
||||
contentLayout->addWidget(buttonBox);
|
||||
connect(buttonBox, &QDialogButtonBox::accepted, &dlg, &QDialog::accept);
|
||||
connect(buttonBox, &QDialogButtonBox::rejected, &dlg, &QDialog::reject);
|
||||
bool updateStyle = dlg.exec();
|
||||
if (updateStyle) {
|
||||
styleNames[index] = name->text();
|
||||
qDebug() << name->text();
|
||||
// 在此处修改新样式信息至内存
|
||||
emit requireRefreshPreview();
|
||||
emit requireSelfRefresh();
|
||||
}
|
||||
});
|
||||
connect(deleteButton, &QPushButton::clicked, [styleList,item,this]() {
|
||||
|
@ -115,6 +122,7 @@ void InfoDisplayWidget::generateLayerForm()
|
|||
delete item;
|
||||
// 删除layer对应样式
|
||||
emit requireRefreshPreview();
|
||||
emit requireSelfRefresh();
|
||||
});
|
||||
layout->addWidget(name);
|
||||
layout->addWidget(detailButton);
|
||||
|
@ -137,3 +145,11 @@ void InfoDisplayWidget::generateLayerForm()
|
|||
void InfoDisplayWidget::generateElementForm()
|
||||
{
|
||||
}
|
||||
|
||||
void InfoDisplayWidget::triggerSelfRefresh()
|
||||
{
|
||||
if (this->displayLayer != nullptr)
|
||||
this->generateLayerForm();
|
||||
else
|
||||
this->generateElementForm();
|
||||
}
|
|
@ -17,7 +17,13 @@ class InfoDisplayWidget : public QWidget
|
|||
void setElement(GraphicElement *element);
|
||||
void generateLayerForm();
|
||||
void generateElementForm();
|
||||
|
||||
public slots:
|
||||
void triggerSelfRefresh();
|
||||
|
||||
signals:
|
||||
void requireRefreshPreview();
|
||||
void requireSelfRefresh();
|
||||
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue