no message

qt6
zcy 2020-12-09 00:27:00 +08:00
parent c9907e5b8a
commit e4ba3226ed
1 changed files with 15 additions and 29 deletions

44
Qss.cpp
View File

@ -407,9 +407,9 @@ void QssMainWindow::onMouseMoveEvent( QMouseEvent * ev )
int dx = x - m_pos.x();
int dy = y - m_pos.y();
if ((m_left || m_right) && qAbs(dx) < 5)
if ((m_left || m_right) && qAbs(dx) < 10)
return;
if ((m_top || m_bottom) && qAbs(dy) < 5)
if ((m_top || m_bottom) && qAbs(dy) < 15)
return;
if (m_left && dx > 0 && mFrameRect.width() <= m_frame->minimumWidth())
return ;
@ -448,10 +448,10 @@ void QssMainWindow::onMouseMoveEvent( QMouseEvent * ev )
int y = ev->y();
QRect rc = m_frame->rect();
m_left = qAbs(x - rc.left()) <= 5;
m_right = qAbs(x - rc.right()) <= 5;
m_top = qAbs(y - rc.top()) <= 5;
m_bottom = qAbs(y - rc.bottom()) <= 5;
m_left = qAbs(x - rc.left()) <= 10;
m_right = qAbs(x - rc.right()) <= 10;
m_top = qAbs(y - rc.top()) <= 10;
m_bottom = qAbs(y - rc.bottom()) <= 10;
if ((m_left && m_top) || (m_right && m_bottom))
m_frame->setCursor(Qt::SizeFDiagCursor);
@ -572,11 +572,7 @@ bool QssMainWindow::eventFilter( QObject * obj, QEvent * ev ){
m_frame->setCursor(Qt::ArrowCursor);
}
if(QEvent::Resize == ev->type()){
//qDebug()<<"resized sended"<<this->objectName();
//QRect rtTempGeometry = this->frameGeometry();
//qDebug("re geomotry size is %d %d %d %d",rtTempGeometry.x(),
// rtTempGeometry.y(),rtTempGeometry.width(),rtTempGeometry.height());
//this->setGeometry(rtTempGeometry.x(),rtTempGeometry.y(),rtTempGeometry.width(),rtTempGeometry.height());
}
else if (ev->type() == QEvent::MouseButtonRelease)
{
@ -595,7 +591,6 @@ bool QssMainWindow::eventFilter( QObject * obj, QEvent * ev ){
if(QEvent::Resize == ev->type()){
QDesktopWidget desktop;
QRect sizeHint = desktop.availableGeometry(-1);
}
return QMainWindow::eventFilter(obj, ev);
}
@ -1373,15 +1368,15 @@ void QssMessageBox::aboutQt( QWidget *parent, const QString &title /*= QString()
QssDockWidget::QssDockWidget(QWidget *parent)
: QDockWidget(parent),
m_mousePressedInBorder(false),
m_parent(parent)
m_parent(parent),
m_mousePressedInBorder(false)
{
m_rcValid = QApplication::desktop()->availableGeometry();
m_frame = new QFrame(parent);
m_frame->setObjectName("dialog");//css
m_frame->setAttribute(Qt::WA_TranslucentBackground);/** padding css boder<65><72>*/
m_frame->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint/* | Qt::WindowMinimizeButtonHint*/);//Qt::WindowMinimizeButtonHintdialog<6F><67>
m_frame->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint
m_frame->setMouseTracking(true);
m_frame->installEventFilter(this);
@ -1470,22 +1465,20 @@ bool QssDockWidget::eventFilter(QObject *obj, QEvent *ev)
else if (ev->type() == QEvent::Show)
{
QRect rc = m_frame->rect(), parentRc;
if (m_parent)/**<2A><> */
if (m_parent)
{
/** */
QPoint pt = m_parent->mapToGlobal(QPoint(0,0));
parentRc =m_parent->rect();
parentRc.translate(pt);
}
else/** */
else
parentRc = m_rcValid;
/** m_frame */
int x = parentRc.left() + (parentRc.width() - rc.width())*0.5;x = x <= 0?1:x;
int y = parentRc.top() + (parentRc.height() - rc.height())*0.5;y = y <= 0?1:y;
m_frame->move(x,y);
/** */
QPropertyAnimation* aniSize = new QPropertyAnimation(m_frame,"geometry");
aniSize->setDuration(200);
aniSize->setKeyValueAt(0, QRect(x,y,0,0));
@ -1502,9 +1495,7 @@ bool QssDockWidget::eventFilter(QObject *obj, QEvent *ev)
aniGroup->addAnimation(aniSize);
aniGroup->addAnimation(aniOpacity);
/** <20><> */
aniGroup->start(QAbstractAnimation::DeleteWhenStopped);
}
else if (ev->type() == QEvent::Close)
{
@ -1557,10 +1548,7 @@ QssToastWidget::QssToastWidget(QWidget *parent)
QssToastWidget::~QssToastWidget()
{
}
void QssToastWidget::setText(const QString& text)
{
ui.label->setText(text);
@ -1595,12 +1583,10 @@ void QssToastWidget::showAnimation(int timeout /*= 2000*/)
void QssToastWidget::showTip(const QString& text, QWidget* parent /*= nullptr*/)
{
QssToastWidget* toast = new QssToastWidget(parent);
toast->setWindowFlags(toast->windowFlags() | Qt::WindowStaysOnTopHint); // 置顶
toast->setWindowFlags(toast->windowFlags() | Qt::WindowStaysOnTopHint);
toast->setText(text);
toast->setStyleSheet("font:bold;font-size:24px;color:rgb(255,255,255);");
toast->adjustSize(); //设置完文本后调整下大小
// 测试显示位于主屏的70%高度位置
toast->adjustSize();
QScreen* pScreen = QGuiApplication::primaryScreen();
toast->move((pScreen->size().width() - toast->width()) / 2,
pScreen->size().height() * 5 / 10);