一、主界面
1.無邊框
setWindowFlags(Qt::FramelessWindowHint);
2.界面始終位於頂部位置
setWindowFlags(Qt::WindowStaysOnToHint);
3.任務欄圖標點擊時進行顯示/不顯示切換
setWindowFlags(Qt::WindowMinimizeButtonHint)
4、隱藏任務欄顯示
setWindowFlags(Qt::Tool | Qt::X11BypassWindowManagerHint)
5.繪製背景圖片並實現圓角效果
paintEvent(QPaintEvent*)
{
QPainter painter(this);
QBrush brush;
brush.setTextrueImage(QImage(background_image);
painter.setBrush(brush);
painter.setPen(Qt::NoPen);
painter.drawRoundedRect(this.rect(),5,5);
}
6.設置應用程序的字體
QFont font(“Courier”,10,QFont::Normal,false);
QApplication::setFont(font);
7、設置組件字體
QFont font = this->font();
font.setFamily("Courier"); //字體名稱
font.setPixelSize(16); //字體點大小
font.setPointSize(18); //字體像素大小
font.setBold(true); //是否加粗
font.setItalic(true); //是否斜體
font.setUnderline(true); //是否下劃線
this->setFont(font);
字體風格,包括類型、大小、是否加粗、是否斜體等!
也可以使用:setStyleSheet(“text-align:center; font-size:18px; font-weight:bold; font-style:Courier; color:white; “);
setAlignment(Qt::AlignCenter); //設置對齊方式
二、全屏顯示與還原
關於這個問題,當做一個大的標題來討論,因爲比起其它小技巧要稍微複雜一些!
全屏顯示:
1、遮擋任務欄:
showFullScreen()、showMaximized()這兩個都可以!
2、不遮擋任務欄:
void MainWidget::showMaximize()
{
//若已經最大化
if(is_max)
{
//恢復界面位置,並設置按鈕圖標爲最大化圖標,提示“最大化”
this->setGeometry(location);
max_button->setIcon(QIcon("maxbtn"));
max_button->setToolTip(tr("max"));
}
else {
//設定當前界面的位置,還原時使用
location = this->geometry();
//獲取桌面位置,設置爲最大化,並設置按鈕圖標爲還原圖標,提示“還原”
QDesktopWidget *desk = QApplication::desktop();
this->setGeometry(desk->availableGeometry());
max_button->setIcon(QIcon(“restorbtn”));
max_button->setToolTip(tr(“restor”));
}
is_max = !is_max;
}