插值和预览窗口自适应

feature/Interpolation-20260803
lvjunjie 2 weeks ago
parent 0b9d50a2b0
commit 72e4fe7cef

@ -6,6 +6,7 @@
#include <QPointF> #include <QPointF>
#include <QRectF> #include <QRectF>
#include <QSize>
#include <QString> #include <QString>
#include <QStringList> #include <QStringList>
#include <QVector> #include <QVector>
@ -47,6 +48,8 @@ public:
bool showMeasurementLabels); bool showMeasurementLabels);
void showMessage(const QString& dataSetName, const QString& message); void showMessage(const QString& dataSetName, const QString& message);
virtual QSize sizeHint() const;
private: private:
void initializeRenderer(const QString& scalarTitle, void initializeRenderer(const QString& scalarTitle,
const QRectF& bounds, const QRectF& bounds,

@ -344,8 +344,6 @@ nmWxPropertyInterpolationDlg::nmWxPropertyInterpolationDlg(
setWindowTitle(interpolationText("Property Interpolation")); setWindowTitle(interpolationText("Property Interpolation"));
setWindowModality(Qt::NonModal); setWindowModality(Qt::NonModal);
setModal(false); setModal(false);
setMinimumSize(500, 620);
resize(520, 820);
// 合并连续编辑触发的刷新,避免每次数值变化都立即重新插值. // 合并连续编辑触发的刷新,避免每次数值变化都立即重新插值.
m_pPreviewRefreshTimer = new QTimer(this); m_pPreviewRefreshTimer = new QTimer(this);

@ -1,8 +1,11 @@
#include "nmWxPropertyInterpolationPreviewDlg.h" #include "nmWxPropertyInterpolationPreviewDlg.h"
#include <QApplication>
#include <QCoreApplication> #include <QCoreApplication>
#include <QDesktopWidget>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QPushButton> #include <QPushButton>
#include <QSizePolicy>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QVTKWidget.h> #include <QVTKWidget.h>
@ -96,15 +99,14 @@ nmWxPropertyInterpolationPreviewDlg::nmWxPropertyInterpolationPreviewDlg(
{ {
setWindowModality(Qt::NonModal); setWindowModality(Qt::NonModal);
setModal(false); setModal(false);
setMinimumSize(900, 700);
resize(1200, 850);
QVBoxLayout* mainLayout = new QVBoxLayout(this); QVBoxLayout* mainLayout = new QVBoxLayout(this);
mainLayout->setContentsMargins(8, 8, 8, 8); mainLayout->setContentsMargins(8, 8, 8, 8);
mainLayout->setSpacing(8); mainLayout->setSpacing(8);
m_pVtkWidget = new QVTKWidget(this); m_pVtkWidget = new QVTKWidget(this);
m_pVtkWidget->setMinimumSize(860, 640); m_pVtkWidget->setSizePolicy(QSizePolicy::Expanding,
QSizePolicy::Expanding);
mainLayout->addWidget(m_pVtkWidget, 1); mainLayout->addWidget(m_pVtkWidget, 1);
QHBoxLayout* buttonLayout = new QHBoxLayout; QHBoxLayout* buttonLayout = new QHBoxLayout;
@ -120,6 +122,19 @@ nmWxPropertyInterpolationPreviewDlg::nmWxPropertyInterpolationPreviewDlg(
showMeasurementPoints, showMeasurementLabels); showMeasurementPoints, showMeasurementLabels);
} }
QSize nmWxPropertyInterpolationPreviewDlg::sizeHint() const
{
QDesktopWidget* desktop = QApplication::desktop();
if(desktop == NULL) {
return iDlgBase::sizeHint();
}
// 预览窗口随当前屏幕可用区域调整,避免固定像素尺寸在不同分辨率下失衡.
const QRect availableRect = desktop->availableGeometry(this);
return QSize(availableRect.width() * 1 / 2,
availableRect.height() * 4 / 5);
}
void nmWxPropertyInterpolationPreviewDlg::updatePreview( void nmWxPropertyInterpolationPreviewDlg::updatePreview(
const QString& dataSetName, const QString& dataSetName,
const QString& scalarTitle, const QString& scalarTitle,

Loading…
Cancel
Save