|
|
@@ -47,8 +47,6 @@ Widget::Widget(QWidget *parent) :
|
|
|
//ui->stackedWidget_Main->setCurrentWidget(ui->page_7);
|
|
|
m_pMSGWidget=new MSGWidget(this);
|
|
|
m_pMSGWidget->hide();
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
Widget::~Widget()
|
|
|
@@ -473,92 +471,49 @@ void Widget::adjustMSGWidgetPosition(bool isAuto)
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
- // 获取主窗口的逻辑尺寸
|
|
|
- QRect mainWindowSize = this->geometry();
|
|
|
- int mainWidth = mainWindowSize.width();
|
|
|
- int mainHeight = mainWindowSize.height();
|
|
|
- qDebug()<<"Widget geometry("<<mainWindowSize.x()<<","<<mainWindowSize.y()<<","<<mainWindowSize.width()<<","<<mainWindowSize.height()<<")";
|
|
|
- // 根据旋转角度确定实际显示尺寸
|
|
|
- int displayWidth, displayHeight;
|
|
|
- //if(m_nAngle == 90 || m_nAngle == 270) {
|
|
|
- displayWidth = mainWidth;
|
|
|
- displayHeight = mainHeight;
|
|
|
- //} else {
|
|
|
- // 90或270度旋转时,宽高交换
|
|
|
- // displayWidth = mainHeight;
|
|
|
- // displayHeight = mainWidth;
|
|
|
- //}
|
|
|
- // 设置弹窗宽度(略小于显示宽度)
|
|
|
- m_pMSGWidget->setFW(displayWidth - 4);
|
|
|
-
|
|
|
- // 根据旋转角度计算弹窗位置
|
|
|
- QPoint popupPos;
|
|
|
- int offset=5;
|
|
|
- if(m_nAngle==0||m_nAngle==180)
|
|
|
+ // 获取主窗口的逻辑尺寸
|
|
|
+ QRect mainWindowSize = this->geometry();
|
|
|
+ int mainWidth = mainWindowSize.width();
|
|
|
+ int mainHeight = mainWindowSize.height();
|
|
|
+ qDebug()<<"Widget geometry("<<mainWindowSize.x()<<","<<mainWindowSize.y()<<","<<mainWindowSize.width()<<","<<mainWindowSize.height()<<")";
|
|
|
+ // 根据旋转角度确定实际显示尺寸
|
|
|
+ int displayWidth, displayHeight;
|
|
|
+ displayWidth = mainWidth;
|
|
|
+ displayHeight = mainHeight;
|
|
|
+
|
|
|
+ // 设置弹窗宽度(略小于显示宽度)
|
|
|
+ m_pMSGWidget->setFW(displayWidth-4);
|
|
|
+
|
|
|
+ // 根据旋转角度计算弹窗位置
|
|
|
+ QPoint popupPos;
|
|
|
+ int offset=0;
|
|
|
+ if(m_nAngle==0||m_nAngle==180)
|
|
|
+ {
|
|
|
+ if(m_nAngle==0)
|
|
|
{
|
|
|
- if(m_nAngle==0)
|
|
|
- {
|
|
|
- popupPos = QPoint(offset,(displayHeight - m_pMSGWidget->height()) / 2);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- popupPos = QPoint(offset,-(displayHeight - m_pMSGWidget->height()) / 2);
|
|
|
- }
|
|
|
- }else
|
|
|
+ popupPos = QPoint(offset,(displayHeight - m_pMSGWidget->height()) / 2);
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- if(m_nAngle==90)
|
|
|
- {
|
|
|
- popupPos = QPoint(-(displayHeight - m_pMSGWidget->height()) / 2,offset);
|
|
|
- }else
|
|
|
- {
|
|
|
- //popupPos = QPoint(2,-(displayHeight - m_pMSGWidget->height()) / 2);
|
|
|
- popupPos = QPoint((displayHeight - m_pMSGWidget->height()) / 2,offset);
|
|
|
- }
|
|
|
+ popupPos = QPoint(-offset,-(displayHeight - m_pMSGWidget->height()) / 2);
|
|
|
}
|
|
|
- popupPos += QPoint(mainWindowSize.x(), mainWindowSize.y());
|
|
|
- /*
|
|
|
- switch(m_nAngle) {
|
|
|
- case 0: // 0度旋转
|
|
|
- popupPos = QPoint(
|
|
|
- 2,
|
|
|
- (displayHeight - m_pMSGWidget->height()) / 2
|
|
|
- );
|
|
|
- break;
|
|
|
-
|
|
|
- case 90: // 90度旋转
|
|
|
- popupPos = QPoint(
|
|
|
- 2,
|
|
|
- (displayHeight - m_pMSGWidget->height()) / 2
|
|
|
- );
|
|
|
- // 调整坐标系偏移
|
|
|
- popupPos += QPoint(mainWidth, 0);
|
|
|
- break;
|
|
|
- case 180: // 180度旋转
|
|
|
- popupPos = QPoint(
|
|
|
- 2,
|
|
|
- (displayHeight - m_pMSGWidget->height()) / 2
|
|
|
- );
|
|
|
- // 调整坐标系偏移
|
|
|
- popupPos += QPoint(mainWidth, mainHeight);
|
|
|
- break;
|
|
|
-
|
|
|
- case 270: // 270度旋转
|
|
|
- popupPos = QPoint(
|
|
|
- 2,
|
|
|
- (displayHeight - m_pMSGWidget->height()) / 2
|
|
|
- );
|
|
|
- // 调整坐标系偏移
|
|
|
- popupPos += QPoint(0, mainHeight);
|
|
|
- break;
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ if(m_nAngle==90)
|
|
|
+ {
|
|
|
+ popupPos = QPoint(-(displayHeight - m_pMSGWidget->height()) / 2,offset);
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ popupPos = QPoint((displayHeight - m_pMSGWidget->height()) / 2,-offset);
|
|
|
}
|
|
|
- */
|
|
|
-
|
|
|
- // 应用位置
|
|
|
- m_pMSGWidget->move(popupPos);
|
|
|
- // 调试输出
|
|
|
- qDebug() << "Rotation:" << m_nAngle;
|
|
|
- qDebug() << "MSGWidget position:" << popupPos;
|
|
|
- qDebug() << "MSGWidget geometry:" << m_pMSGWidget->geometry();
|
|
|
+ }
|
|
|
+ popupPos += QPoint(mainWindowSize.x(), mainWindowSize.y());
|
|
|
+ // 应用位置
|
|
|
+ m_pMSGWidget->move(popupPos);
|
|
|
+ // 调试输出
|
|
|
+ qDebug() << "Rotation:" << m_nAngle;
|
|
|
+ qDebug() << "MSGWidget position:" << popupPos;
|
|
|
+ qDebug() << "MSGWidget geometry:" << m_pMSGWidget->geometry();
|
|
|
}
|
|
|
|
|
|
void Widget::resizeEvent(QResizeEvent *event)
|