我正在使用Qt 5.11并且我有一个可移动的浮动小按钮,我想在调整大小或最大化/最小化窗口时始终保持相对于窗口的位置,并且还希望它保留在窗口区域内永远不要进入可见的窗户区域。 我有以下代码,有点做我需要的但是不能一直正常工作!例如,有时它有点落后于窗户的角落,有时在调整窗口的大小时,交错按钮会失去它的位置......
// Move floating button to stay visible in place when ever the window resizes
void MyWindow::resizeEvent(QResizeEvent* event)
{
if (m_fButton) {
if (m_fButton->pattern() != RootFloatingButton::Pattern::Floating)
m_fButton->tabWidgetChanged(tabWidget());
else {
if (m_fButton->x() > event->size().width())
{
m_fButton->move((event->size().width() + m_fButton->width()), (m_fButton->y()));
}
if (m_fButton->y() > event->size().height())
{
m_fButton->move((m_fButton->x()), (event->size().height() - m_fButton->height()));
}
// this code below was first used to keep the button in place relative to the window when resized
m_fButton->move(std::min(m_fButton->x(), event->size().width() + m_fButton->width()),
std::min(m_fButton->y(), event->size().height() + m_fButton->height()));
}
我在下面提到的代码有效,但只有当按钮保持在底部右下角时,一旦窗口从底部角落经过,按钮将不再出现...
我知道如何解决这个问题吗?