构建模板编辑界面
This commit is contained in:
parent
35101bb2f5
commit
9b6ad519f3
|
@ -74,7 +74,6 @@ public:
|
|||
void recoveryFrom(const QJsonObject& obj) override;
|
||||
void saveTo(QJsonObject& obj) const override;
|
||||
|
||||
|
||||
void execute(std::shared_ptr<ImmediateMap> map, std::shared_ptr<const TypesQuery> in, QList<std::shared_ptr<TypesQueryResult>>& out) override;
|
||||
void execute(std::shared_ptr<ImmediateMap> map, std::shared_ptr<const TempletOperate> in, QList<std::shared_ptr<RespondDefault>>& out) override;
|
||||
void execute(std::shared_ptr<ImmediateMap> map, std::shared_ptr<const EntityOperate> in, QList<std::shared_ptr<RespondDefault>>& out) override;
|
||||
|
|
|
@ -99,6 +99,7 @@
|
|||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="TempletAssemble.cpp" />
|
||||
<QtRcc Include="sims_world.qrc" />
|
||||
<QtUic Include="sims_world.ui" />
|
||||
<QtMoc Include="sims_world.h" />
|
||||
|
@ -107,6 +108,9 @@
|
|||
<None Include="SimsWorld.ico" />
|
||||
<ResourceCompile Include="SimsWorld.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="TempletAssemble.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||
<Import Project="$(QtMsBuild)\qt.targets" />
|
||||
|
|
|
@ -46,5 +46,13 @@
|
|||
<ClCompile Include="main.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TempletAssemble.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<QtMoc Include="TempletAssemble.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</QtMoc>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,48 @@
|
|||
#include "TempletAssemble.h"
|
||||
#include <QLineEdit>
|
||||
#include <QGridLayout>
|
||||
#include <QVBoxLayout>
|
||||
#include <QSplitter>
|
||||
#include <QLabel>
|
||||
#include <QGroupBox>
|
||||
|
||||
TempletAssemble::TempletAssemble()
|
||||
:QWidget(nullptr),
|
||||
_templet_present(new QListView(this)),
|
||||
_templet_model(new QStandardItemModel(this)),
|
||||
_t_add(new QPushButton(u8"添加模板",this)),
|
||||
_t_remove(new QPushButton(u8"移除模板", this)),
|
||||
_templet_name(new QLineEdit(this)),
|
||||
_component_types(new QComboBox(this)),
|
||||
_comp_add(new QPushButton(u8"添加组件", this)),
|
||||
_comp_remove(new QPushButton(u8"移除组件", this)),
|
||||
_component_present(new QListView(this)),
|
||||
_component_model(new QStandardItemModel(this)),
|
||||
_apply(new QPushButton(u8"应用", this))
|
||||
{
|
||||
auto layout = new QVBoxLayout(this);
|
||||
auto split = new QSplitter(this);
|
||||
layout->addWidget(split);
|
||||
|
||||
auto left_widget = new QGroupBox(u8"模板列表", this);
|
||||
split->addWidget(left_widget);
|
||||
auto llayout = new QGridLayout(left_widget);
|
||||
llayout->addWidget(_templet_present, 0, 0, 3, 2);
|
||||
llayout->addWidget(_t_add, 3, 0);
|
||||
llayout->addWidget(_t_remove, 3, 1);
|
||||
|
||||
|
||||
auto right_widget = new QWidget(this);
|
||||
split->addWidget(right_widget);
|
||||
auto rlayout = new QGridLayout(right_widget);
|
||||
rlayout->addWidget(new QLabel(u8"模板名称", this), 0, 0);
|
||||
rlayout->addWidget(_templet_name, 0, 1, 1, 4);
|
||||
rlayout->addWidget(new QLabel(u8"组件类型", this), 1, 0);
|
||||
rlayout->addWidget(_component_types, 1, 1, 1, 2);
|
||||
rlayout->addWidget(_comp_add, 1, 3);
|
||||
rlayout->addWidget(_comp_remove, 1, 4);
|
||||
rlayout->addWidget(_component_present, 2, 0, 3, 5);
|
||||
rlayout->addWidget(_apply, 5, 0, 1, 5);
|
||||
|
||||
rlayout->setColumnStretch(1, 1);
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
#pragma once
|
||||
#include <QWidget>
|
||||
#include <QListView>
|
||||
#include <QStandardItemModel>
|
||||
#include <QComboBox>
|
||||
#include <QPushButton>
|
||||
|
||||
class TempletAssemble : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
QListView *const _templet_present;
|
||||
QStandardItemModel *const _templet_model;
|
||||
QPushButton *const _t_add, *const _t_remove;
|
||||
|
||||
QLineEdit *const _templet_name;
|
||||
QComboBox *const _component_types;
|
||||
QPushButton *const _comp_add, *const _comp_remove;
|
||||
QListView *const _component_present;
|
||||
QStandardItemModel *const _component_model;
|
||||
QPushButton *const _apply;
|
||||
|
||||
public:
|
||||
TempletAssemble();
|
||||
virtual ~TempletAssemble() = default;
|
||||
|
||||
|
||||
};
|
||||
|
|
@ -1,10 +1,15 @@
|
|||
#include "sims_world.h"
|
||||
#include "TempletAssemble.h"
|
||||
#include <QtWidgets/QApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
SimsWorld w;
|
||||
w.show();
|
||||
//SimsWorld w;
|
||||
//w.show();
|
||||
|
||||
TempletAssemble tass;
|
||||
tass.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue