先上运行界面,如下图:
paraview的主界面位于paraview项目中,界面名称:ParaViewMainWindow.ui,Qt打开如下:
我们可以看到有很多个QDockWidget,而每一个QDockWidget又分别对应一个QWidget或者QDialog.
这在ui_ParaviewMainWindow.h中可以清晰的看到
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "pqCollaborationPanel.h"
#include "pqColorMapEditor.h"
#include "pqComparativeVisPanel.h"
#include "pqDataInformationWidget.h"
#include "pqFindDataSelectionDisplayFrame.h"
#include "pqLightsInspector.h"
#include "pqMemoryInspectorPanel.h"
#include "pqMultiBlockInspectorWidget.h"
#include "pqOutputWidget.h"
#include "pqPVAnimationWidget.h"
#include "pqPipelineBrowserWidget.h"
#include "pqPropertiesPanel.h"
#include "pqProxyInformationWidget.h"
#include "pqStatusBar.h"
#include "pqTabbedMultiViewWidget.h"
#include "pqTimeInspectorWidget.h"
QT_BEGIN_NAMESPACE
class Ui_pqClientMainWindow
{
public:
QWidget *centralwidget;
QGridLayout *gridLayout;
pqTabbedMultiViewWidget *MultiViewWidget;
QMenuBar *menubar;
QMenu *menu_File;
QMenu *menuSources;
QMenu *menuFilters;
QMenu *menu_Edit;
QMenu *menu_View;
QMenu *menuTools;
QMenu *menu_Help;
QMenu *menu_Macros;
QMenu *menu_Catalyst;
pqStatusBar *statusbar;
QDockWidget *pipelineBrowserDock;
pqPipelineBrowserWidget *pipelineBrowser;
QDockWidget *statisticsDock;
pqDataInformationWidget *statisticsView;
QDockWidget *animationViewDock;
pqPVAnimationWidget *animationView;
QDockWidget *comparativePanelDock;
pqComparativeVisPanel *comparativeVisPanel;
QDockWidget *collaborationPanelDock;
pqCollaborationPanel *collaborationPanel;
QDockWidget *informationDock;
QWidget *informationWidgetFrame;
QVBoxLayout *verticalLayout_2;
QScrollArea *informationScrollArea;
pqProxyInformationWidget *informationWidget;
QDockWidget *memoryInspectorDock;
pqMemoryInspectorPanel *dockWidgetContents;
QDockWidget *propertiesDock;
pqPropertiesPanel *propertiesPanel;
QDockWidget *multiBlockInspectorDock;
pqMultiBlockInspectorWidget *multiBlockInspectorPanel;
QDockWidget *lightInspectorDock;
pqLightsInspector *lightInspectorPanel;
QDockWidget *catalystInspectorDock;
QDockWidget *colorMapEditorDock;
pqColorMapEditor *colorMapEditorPanel;
QDockWidget *selectionDisplayDock;
pqFindDataSelectionDisplayFrame *selectionDisplayWidget;
QDockWidget *displayPropertiesDock;
pqPropertiesPanel *displayPropertiesPanel;
QDockWidget *viewPropertiesDock;
pqPropertiesPanel *viewPropertiesPanel;
QDockWidget *timeInspectorDock;
pqTimeInspectorWidget *timeInspectorPanel;
QDockWidget *outputWidgetDock;
pqOutputWidget *outputWidget;
QDockWidget *pythonShellDock;
QWidget *pythonShellDummy;
QHBoxLayout *horizontalLayout;
QLabel *label;
void setupUi(QMainWindow *pqClientMainWindow)
{
if (pqClientMainWindow->objectName().isEmpty())
pqClientMainWindow->setObjectName(QStringLiteral("pqClientMainWindow"));
pqClientMainWindow->resize(1152, 762);
pqClientMainWindow->setAcceptDrops(true);
QIcon icon;
icon.addFile(QStringLiteral(":/pqWidgets/Icons/AKSO.png"), QSize(), QIcon::Normal, QIcon::Off);
pqClientMainWindow->setWindowIcon(icon);
centralwidget = new QWidget(pqClientMainWindow);
centralwidget->setObjectName(QStringLiteral("centralwidget"));
gridLayout = new QGridLayout(centralwidget);
gridLayout->setObjectName(QStringLiteral("gridLayout"));
gridLayout->setContentsMargins(0, 0, 0, 0);
MultiViewWidget = new pqTabbedMultiViewWidget(centralwidget);
MultiViewWidget->setObjectName(QStringLiteral("MultiViewWidget"));
gridLayout->addWidget(MultiViewWidget, 0, 0, 1, 1);
pqClientMainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(pqClientMainWindow);
menubar->setObjectName(QStringLiteral("menubar"));
menubar->setGeometry(QRect(0, 0, 1152, 23));
menu_File = new QMenu(menubar);
menu_File->setObjectName(QStringLiteral("menu_File"));
menuSources = new QMenu(menubar);
menuSources->setObjectName(QStringLiteral("menuSources"));
menuFilters = new QMenu(menubar);
menuFilters->setObjectName(QStringLiteral("menuFilters"));
menu_Edit = new QMenu(menubar);
menu_Edit->setObjectName(QStringLiteral("menu_Edit"));
menu_View = new QMenu(menubar);
menu_View->setObjectName(QStringLiteral("menu_View"));
menuTools = new QMenu(menubar);
menuTools->setObjectName(QStringLiteral("menuTools"));
menu_Help = new QMenu(menubar);
menu_Help->setObjectName(QStringLiteral("menu_Help"));
menu_Macros = new QMenu(menubar);
menu_Macros->setObjectName(QStringLiteral("menu_Macros"));
menu_Catalyst = new QMenu(menubar);
menu_Catalyst->setObjectName(QStringLiteral("menu_Catalyst"));
pqClientMainWindow->setMenuBar(menubar);
statusbar = new pqStatusBar(pqClientMainWindow);
statusbar->setObjectName(QStringLiteral("statusbar"));
pqClientMainWindow->setStatusBar(statusbar);
pipelineBrowserDock = new QDockWidget(pqClientMainWindow);
pipelineBrowserDock->setObjectName(QStringLiteral("pipelineBrowserDock"));
pipelineBrowserDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
pipelineBrowser = new pqPipelineBrowserWidget();
pipelineBrowser->setObjectName(QStringLiteral("pipelineBrowser"));
pipelineBrowser->setContextMenuPolicy(Qt::DefaultContextMenu);
pipelineBrowserDock->setWidget(pipelineBrowser);
pqClientMainWindow->addDockWidget(static_cast(1), pipelineBrowserDock);
statisticsDock = new QDockWidget(pqClientMainWindow);
statisticsDock->setObjectName(QStringLiteral("statisticsDock"));
statisticsDock->setAllowedAreas(Qt::BottomDockWidgetArea|Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
statisticsView = new pqDataInformationWidget();
statisticsView->setObjectName(QStringLiteral("statisticsView"));
statisticsDock->setWidget(statisticsView);
pqClientMainWindow->addDockWidget(static_cast(8), statisticsDock);
animationViewDock = new QDockWidget(pqClientMainWindow);
animationViewDock->setObjectName(QStringLiteral("animationViewDock"));
animationView = new pqPVAnimationWidget();
animationView->setObjectName(QStringLiteral("animationView"));
animationViewDock->setWidget(animationView);
pqClientMainWindow->addDockWidget(static_cast(8), animationViewDock);
comparativePanelDock = new QDockWidget(pqClientMainWindow);
comparativePanelDock->setObjectName(QStringLiteral("comparativePanelDock"));
comparativePanelDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
comparativeVisPanel = new pqComparativeVisPanel();
comparativeVisPanel->setObjectName(QStringLiteral("comparativeVisPanel"));
comparativePanelDock->setWidget(comparativeVisPanel);
pqClientMainWindow->addDockWidget(static_cast(2), comparativePanelDock);
collaborationPanelDock = new QDockWidget(pqClientMainWindow);
collaborationPanelDock->setObjectName(QStringLiteral("collaborationPanelDock"));
collaborationPanelDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
collaborationPanel = new pqCollaborationPanel();
collaborationPanel->setObjectName(QStringLiteral("collaborationPanel"));
collaborationPanelDock->setWidget(collaborationPanel);
pqClientMainWindow->addDockWidget(static_cast(2), collaborationPanelDock);
informationDock = new QDockWidget(pqClientMainWindow);
informationDock->setObjectName(QStringLiteral("informationDock"));
informationDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
informationWidgetFrame = new QWidget();
informationWidgetFrame->setObjectName(QStringLiteral("informationWidgetFrame"));
verticalLayout_2 = new QVBoxLayout(informationWidgetFrame);
verticalLayout_2->setSpacing(0);
verticalLayout_2->setObjectName(QStringLiteral("verticalLayout_2"));
verticalLayout_2->setContentsMargins(0, 0, 0, 0);
informationScrollArea = new QScrollArea(informationWidgetFrame);
informationScrollArea->setObjectName(QStringLiteral("informationScrollArea"));
informationScrollArea->setWidgetResizable(true);
informationWidget = new pqProxyInformationWidget();
informationWidget->setObjectName(QStringLiteral("informationWidget"));
informationWidget->setGeometry(QRect(0, 0, 78, 145));
informationScrollArea->setWidget(informationWidget);
verticalLayout_2->addWidget(informationScrollArea);
informationDock->setWidget(informationWidgetFrame);
pqClientMainWindow->addDockWidget(static_cast(1), informationDock);
memoryInspectorDock = new QDockWidget(pqClientMainWindow);
memoryInspectorDock->setObjectName(QStringLiteral("memoryInspectorDock"));
memoryInspectorDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
dockWidgetContents = new pqMemoryInspectorPanel();
dockWidgetContents->setObjectName(QStringLiteral("dockWidgetContents"));
memoryInspectorDock->setWidget(dockWidgetContents);
pqClientMainWindow->addDockWidget(static_cast(2), memoryInspectorDock);
propertiesDock = new QDockWidget(pqClientMainWindow);
propertiesDock->setObjectName(QStringLiteral("propertiesDock"));
propertiesDock->setMinimumSize(QSize(80, 41));
propertiesDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
propertiesPanel = new pqPropertiesPanel();
propertiesPanel->setObjectName(QStringLiteral("propertiesPanel"));
propertiesDock->setWidget(propertiesPanel);
pqClientMainWindow->addDockWidget(static_cast(1), propertiesDock);
multiBlockInspectorDock = new QDockWidget(pqClientMainWindow);
multiBlockInspectorDock->setObjectName(QStringLiteral("multiBlockInspectorDock"));
multiBlockInspectorDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
multiBlockInspectorPanel = new pqMultiBlockInspectorWidget();
multiBlockInspectorPanel->setObjectName(QStringLiteral("multiBlockInspectorPanel"));
multiBlockInspectorDock->setWidget(multiBlockInspectorPanel);
pqClientMainWindow->addDockWidget(static_cast(1), multiBlockInspectorDock);
lightInspectorDock = new QDockWidget(pqClientMainWindow);
lightInspectorDock->setObjectName(QStringLiteral("lightInspectorDock"));
lightInspectorDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
lightInspectorPanel = new pqLightsInspector();
lightInspectorPanel->setObjectName(QStringLiteral("lightInspectorPanel"));
lightInspectorDock->setWidget(lightInspectorPanel);
pqClientMainWindow->addDockWidget(static_cast(1), lightInspectorDock);
catalystInspectorDock = new QDockWidget(pqClientMainWindow);
catalystInspectorDock->setObjectName(QStringLiteral("catalystInspectorDock"));
catalystInspectorDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
pqClientMainWindow->addDockWidget(static_cast(1), catalystInspectorDock);
colorMapEditorDock = new QDockWidget(pqClientMainWindow);
colorMapEditorDock->setObjectName(QStringLiteral("colorMapEditorDock"));
colorMapEditorDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
colorMapEditorPanel = new pqColorMapEditor();
colorMapEditorPanel->setObjectName(QStringLiteral("colorMapEditorPanel"));
colorMapEditorDock->setWidget(colorMapEditorPanel);
pqClientMainWindow->addDockWidget(static_cast(2), colorMapEditorDock);
selectionDisplayDock = new QDockWidget(pqClientMainWindow);
selectionDisplayDock->setObjectName(QStringLiteral("selectionDisplayDock"));
QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(selectionDisplayDock->sizePolicy().hasHeightForWidth());
selectionDisplayDock->setSizePolicy(sizePolicy);
selectionDisplayDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
selectionDisplayWidget = new pqFindDataSelectionDisplayFrame();
selectionDisplayWidget->setObjectName(QStringLiteral("selectionDisplayWidget"));
selectionDisplayWidget->setProperty("useVerticalLayout", QVariant(true));
selectionDisplayDock->setWidget(selectionDisplayWidget);
pqClientMainWindow->addDockWidget(static_cast(2), selectionDisplayDock);
displayPropertiesDock = new QDockWidget(pqClientMainWindow);
displayPropertiesDock->setObjectName(QStringLiteral("displayPropertiesDock"));
displayPropertiesDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
displayPropertiesPanel = new pqPropertiesPanel();
displayPropertiesPanel->setObjectName(QStringLiteral("displayPropertiesPanel"));
displayPropertiesPanel->setProperty("panelMode", QVariant(2));
displayPropertiesDock->setWidget(displayPropertiesPanel);
pqClientMainWindow->addDockWidget(static_cast(1), displayPropertiesDock);
viewPropertiesDock = new QDockWidget(pqClientMainWindow);
viewPropertiesDock->setObjectName(QStringLiteral("viewPropertiesDock"));
viewPropertiesDock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
viewPropertiesPanel = new pqPropertiesPanel();
viewPropertiesPanel->setObjectName(QStringLiteral("viewPropertiesPanel"));
viewPropertiesPanel->setProperty("panelMode", QVariant(4));
viewPropertiesDock->setWidget(viewPropertiesPanel);
pqClientMainWindow->addDockWidget(static_cast(1), viewPropertiesDock);
timeInspectorDock = new QDockWidget(pqClientMainWindow);
timeInspectorDock->setObjectName(QStringLiteral("timeInspectorDock"));
timeInspectorDock->setAllowedAreas(Qt::AllDockWidgetAreas);
timeInspectorPanel = new pqTimeInspectorWidget();
timeInspectorPanel->setObjectName(QStringLiteral("timeInspectorPanel"));
timeInspectorDock->setWidget(timeInspectorPanel);
pqClientMainWindow->addDockWidget(static_cast(2), timeInspectorDock);
outputWidgetDock = new QDockWidget(pqClientMainWindow);
outputWidgetDock->setObjectName(QStringLiteral("outputWidgetDock"));
outputWidgetDock->setFloating(false);
outputWidget = new pqOutputWidget();
outputWidget->setObjectName(QStringLiteral("outputWidget"));
outputWidgetDock->setWidget(outputWidget);
pqClientMainWindow->addDockWidget(static_cast(8), outputWidgetDock);
pythonShellDock = new QDockWidget(pqClientMainWindow);
pythonShellDock->setObjectName(QStringLiteral("pythonShellDock"));
QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(pythonShellDock->sizePolicy().hasHeightForWidth());
pythonShellDock->setSizePolicy(sizePolicy1);
pythonShellDock->setFloating(false);
pythonShellDummy = new QWidget();
pythonShellDummy->setObjectName(QStringLiteral("pythonShellDummy"));
QSizePolicy sizePolicy2(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
sizePolicy2.setHorizontalStretch(0);
sizePolicy2.setVerticalStretch(0);
sizePolicy2.setHeightForWidth(pythonShellDummy->sizePolicy().hasHeightForWidth());
pythonShellDummy->setSizePolicy(sizePolicy2);
horizontalLayout = new QHBoxLayout(pythonShellDummy);
horizontalLayout->setObjectName(QStringLiteral("horizontalLayout"));
label = new QLabel(pythonShellDummy);
label->setObjectName(QStringLiteral("label"));
label->setAlignment(Qt::AlignCenter);
horizontalLayout->addWidget(label);
pythonShellDock->setWidget(pythonShellDummy);
pqClientMainWindow->addDockWidget(static_cast(8), pythonShellDock);
menubar->addAction(menu_File->menuAction());
menubar->addAction(menu_Edit->menuAction());
menubar->addAction(menu_View->menuAction());
menubar->addAction(menuSources->menuAction());
menubar->addAction(menuFilters->menuAction());
menubar->addAction(menuTools->menuAction());
menubar->addAction(menu_Catalyst->menuAction());
menubar->addAction(menu_Macros->menuAction());
menubar->addAction(menu_Help->menuAction());
retranslateUi(pqClientMainWindow);
QMetaObject::connectSlotsByName(pqClientMainWindow);
} // setupUi
void retranslateUi(QMainWindow *pqClientMainWindow)
{
pqClientMainWindow->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\256\211\345\276\275\345\237\203\345\205\213\347\264\242\345\214\273\347\226\227\346\234\272\345\231\250\344\272\272\346\234\211\351\231\220\345\205\254\345\217\270", nullptr));
menu_File->setTitle(QApplication::translate("pqClientMainWindow", "\346\226\207\344\273\266", nullptr));
menuSources->setTitle(QApplication::translate("pqClientMainWindow", "\345\233\276\346\272\220", nullptr));
menuFilters->setTitle(QApplication::translate("pqClientMainWindow", "\346\273\244\346\263\242\345\231\250", nullptr));
menu_Edit->setTitle(QApplication::translate("pqClientMainWindow", "\347\274\226\350\276\221", nullptr));
menu_View->setTitle(QApplication::translate("pqClientMainWindow", "\350\247\206\345\233\276", nullptr));
menuTools->setTitle(QApplication::translate("pqClientMainWindow", "\345\267\245\345\205\267", nullptr));
menu_Help->setTitle(QApplication::translate("pqClientMainWindow", "\345\270\256\345\212\251", nullptr));
menu_Macros->setTitle(QApplication::translate("pqClientMainWindow", "\345\256\217", nullptr));
menu_Catalyst->setTitle(QApplication::translate("pqClientMainWindow", "\345\217\230\346\215\242\345\233\240\345\255\220", nullptr));
pipelineBrowserDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\347\256\241\347\272\277\350\247\206\345\233\276", nullptr));
statisticsDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\347\273\237\350\256\241\346\240\217", nullptr));
animationViewDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\212\250\347\224\273\350\247\206\345\233\276", nullptr));
comparativePanelDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\346\257\224\350\276\203\350\257\225\345\233\276\346\240\217", nullptr));
collaborationPanelDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\206\231\344\275\234\351\235\242\346\235\277", nullptr));
informationDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\344\277\241\346\201\257", nullptr));
memoryInspectorDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\206\205\345\255\230\346\237\245\347\234\213", nullptr));
propertiesDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\261\236\346\200\247", nullptr));
multiBlockInspectorDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\244\232\346\250\241\345\235\227\346\243\200\346\237\245\345\221\230", nullptr));
lightInspectorDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\350\260\203\346\225\264\346\240\217", nullptr));
catalystInspectorDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\345\217\230\345\214\226\345\233\240\347\264\240\345\257\274\345\207\272\346\243\200\346\237\245", nullptr));
colorMapEditorDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\351\242\234\350\211\262\347\274\226\350\276\221\346\241\206", nullptr));
selectionDisplayDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\346\230\276\347\244\272\351\200\211\346\213\251\346\240\217", nullptr));
displayPropertiesDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\346\230\276\347\244\272", nullptr));
viewPropertiesDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\350\247\206\345\233\276", nullptr));
timeInspectorDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\346\227\266\351\227\264\346\240\217", nullptr));
outputWidgetDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "\350\276\223\345\207\272\344\277\241\346\201\257", nullptr));
outputWidget->setProperty("settingsKey", QVariant(QApplication::translate("pqClientMainWindow", "OutputMessages", nullptr)));
pythonShellDock->setWindowTitle(QApplication::translate("pqClientMainWindow", "Python\350\204\232\346\234\254", nullptr));
label->setText(QApplication::translate("pqClientMainWindow", "Python support not available!", nullptr));
} // retranslateUi
};
namespace Ui {
class pqClientMainWindow: public Ui_pqClientMainWindow {};
} // namespace Ui