void QtPractice::on_maxBtn_clicked()
{
static bool max_clicked;
if (max_clicked) {
this->showNormal();
ui.max_min->setIcon(QIcon("../Icon/showmax.png"));
}
else {
ui.max_min->setIcon(QIcon("../Icon/showrestore.png"));
this->showMaximized(); //设置窗口铺满全屏
}
max_clicked = !max_clicked;
}
首先定义一个bool的静态变量,令其记录窗口状态,
如果目前窗口为最小状态,先对按键的Icon进行更改,将其变为最小化按键图标,然后窗口随即变为最大状态,变化完成后,更改bool变量,令其记录新的状态
或者将标志定义为全局变量
bool max_clicked;
void QtPractice::on_maxBtn_clicked()
{
if (max_clicked) {
this->showNormal();
ui.max_min->setIcon(QIcon("../Icon/showmax.png"));
}
else {
ui.max_min->setIcon(QIcon("../Icon/showrestore.png"));
this->showMaximized(); //设置窗口铺满全屏
}
max_clicked = !max_clicked;
}