各位大佬,请问在用QHBoxLayout进行布局的时候,控件,比如QToolButton的move会失效吗?由于开始没有进行布局,后面再布局后,控件move就失效了,也就是不在预想的位置上了?有什么办法再QHBoxLayout布局时,将控件位置放在右上角,即自己想要的位置上呢?代码如下:
QHBoxLayout m_hBoxLayout1 = new QHBoxLayout(this);
m_hBoxLayout1->setSpacing(0);
m_hBoxLayout1->setContentsMargins(10, 10,10,10);
QToolButton m_toolBtnClose = new QToolButton(m_windowTitle);
m_toolBtnClose->setIcon(QIcon(":/res/main/close02.png"));//border-image:url(:/res/main/close2.png);
m_toolBtnClose->setStyleSheet("QToolButton{background-color:none;border:none;width:16px;height:16px;padding:4px;min-height: 16px;border-radius:0px;color: #FFFFFF;}"
"QToolButton:hover{background-color: #DC0000;border: none;color: #FFFFFF;}"
"QToolButton:pressed{background-color:#F1707A;}");
QImage closeImg(":/res/main/close02.png");
m_toolBtnClose->setFocusPolicy(Qt::NoFocus);
m_toolBtnClose->setToolTip(TBTN_CLOSE_INFO);
m_toolBtnClose->installEventFilter(this);
m_toolBtnClose->resize(closeImg.size());
m_toolBtnClose->move(this->width()*97.5/100, this->height()*0/100);
connect(m_toolBtnClose, &QToolButton::clicked, this, &mainDlg::close);
QToolButton m_toolBtnMax = new QToolButton(m_windowTitle);
m_toolBtnMax->setIcon(QIcon(":/res/main/maximize01.png"));
m_toolBtnMax->setStyleSheet("QToolButton{background-color:none;border:none;width:16px;height:16px;padding:4px;min-height: 16px;border-radius:0px;color: #FFFFFF;}"
"QToolButton:hover{background-color: #2e9eea;border: none;color: #FFFFFF;}"
"QToolButton:pressed{background-color:palette(highlight);}");
QImage maxImg(":/res/main/maximize01.png");
m_toolBtnMax->setFocusPolicy(Qt::NoFocus);
m_toolBtnMax->installEventFilter(this);
m_toolBtnMax->resize(maxImg.size());
m_toolBtnMax->move(this->width()*97.5/100 - this->m_toolBtnClose->width(), this->height()*0/100);
connect(m_toolBtnMax, &QToolButton::clicked, this, &mainDlg::slotShowMaximized);
QToolButton m_toolBtnRestore = new QToolButton(m_windowTitle);
m_toolBtnRestore->setIcon(QIcon(":/res/main/restore01.png"));
m_toolBtnRestore->setStyleSheet("QToolButton{background-color:none;border:none;width:16px;height:16px;padding:4px;min-height: 16px;border-radius:0px;color: #FFFFFF;}"
"QToolButton:hover{background-color: #2e9eea;border: none;color: #FFFFFF;}"
"QToolButton:pressed{background-color:palette(highlight);}");
QImage restoreImg(":/res/main/restore01.png");
m_toolBtnRestore->setFocusPolicy(Qt::NoFocus);
m_toolBtnRestore->installEventFilter(this);
m_toolBtnRestore->resize(restoreImg.size());
m_toolBtnRestore->move(this->width()*97.5/100 - this->m_toolBtnClose->width(), this->height()*0/100);
connect(m_toolBtnRestore, &QToolButton::clicked, this, &mainDlg::slotShowRestore);
m_toolBtnRestore->setVisible(false);
QToolButton m_toolBtnMin = new QToolButton(m_windowTitle);
m_toolBtnMin->setIcon(QIcon(":/res/main/minimize01.png"));
m_toolBtnMin->setStyleSheet("QToolButton{background-color:none;border:none;width:16px;height:16px;padding:4px;min-height: 16px;border-radius:0px;color: #FFFFFF;}"
"QToolButton:hover{background-color: #2e9eea;border: none;color: #FFFFFF;}"
"QToolButton:pressed{background-color:palette(highlight);}");
QImage minImg(":/res/main/minimize01.png");
m_toolBtnMin->setFocusPolicy(Qt::NoFocus);
m_toolBtnMin->installEventFilter(this);
m_toolBtnMin->resize(minImg.size());
m_toolBtnMin->move(this->width()*97.5/100 - this->m_toolBtnClose->width() - this->m_toolBtnMax->width(), this->height()*0/100);
connect(m_toolBtnMin, &QToolButton::clicked, this, &mainDlg::slotShowMinimized);