[转载]Qt之自定义界面(二)添加最小化、关闭按钮、添加背景
原文地址:Qt之自定义界面(二)添加最小化、关闭按钮、添加背景作者:一去丶二三里
在进行自定义界面之后,Qt界面并不像我们想象的那么完美,也许与我们的预期大相径庭,但是不必心烦,这只不过是迈出了第一步而已,第一步既然都已经迈出去了,那么以后的路就会好走多了!
1、自定义最小化、最大化按钮
int width = width();//获取界面的宽度
//构建最小化、最大化、关闭按钮
QToolButton *minButton = new
QToolButton(this);
QToolButton *closeButton= new
QToolButton(this);
//获取最小化、关闭按钮图标
QPixmap minPix =
style()->standardPixmap(QStyle::SP_TitleBarMinButton);
QPixmap closePix =
style()->standardPixmap(QStyle::SP_TitleBarCloseButton);
//设置最小化、关闭按钮图标
minButton->setIcon(minPix);
closeButton->setIcon(closePix);
//设置最小化、关闭按钮在界面的位置
minButton->setGeometry(width-46,5,20,20);
closeButton->setGeometry(width-25,5,20,20);
//设置鼠标移至按钮上的提示信息
minButton->setToolTip(tr("最小化"));
closeButton->setToolTip(tr("关闭"));
//设置最小化、关闭按钮的样式
minButton->setStyleSheet("background-color:transparent;");
closeButton->setStyleSheet("background-color:transparent;");
这样我们的最小化、最大化按钮就已经出现!
效果如下:
2、自定义背景
自定义背景可以使用多种方法,在这里我就介绍三种
(1)使用 QLable,加载图片的方式
QLabel *background = new QLabel(this);
//设置标签的显示图片
background->setPixmap(QPixmap(":/icon/login"));
//设置背景图片的位置大小
background->setGeometry(0, 0,
this->width(), this->height());
//设置图片充满整个标签
background->setScaledContents(true);
(2)使用 QLable,选择背景色的方式
QLabel *background = new QLabel(this);
//设置标签的背景色为蓝色
background->->setStyleSheet("background-color:blue");
//设置背景标签的位置大小
background->setGeometry(0, 0, this->width(),
this->height());
(3)重写void paintEvent(QPaintEvent *)
void MainWidget::paintEvent(QPaintEvent *)
{
QBitmap
bitmap(this->size());
bitmap.fill();
QPainter
painter(&bitmap);
QPixmap pixmap(":/icons/login");
painter.drawPixmap(this->rect(), pixmap);
}
这里就不演示效果了,都没问题的!
- Qt之自定义界面添加最小化、关闭按钮、添加背景
- Qt之自定义界面(二)添加最小化、关闭按钮、添加背景
- Qt之自定义界面(二)添加最小化、关闭按钮、添加背景
- Qt之自定义界面(二)添加最小化、关闭按钮、添加背景
- Qt之自定义界面添加最小化、最大化和关闭按钮
- Qt之自定义界面添加最小化、最大化和关闭按钮
- Qt之无边框自定义最小化、关闭按钮并实现窗口移动
- 每日积累(20170609-day-24)(Qt designer 界面 最小化及最大化按钮)
- 【Qt】自定义标题栏并实现最小化/最大化/关闭窗口功能
- ant design (antd) Modal 自定义样式,去除白色背景,边框,关闭按钮
- QT笔记(3)-Qt中添加背景图片的方法(转载)
- C# 窗体的最大化、最小化、关闭按钮的自定义
- QT 初学 单击一个按钮 ,关闭一个界面 ,打开另外的一个界面 源码
- Mac自定义 关闭 最小化 全屏 按钮
- 让Qt的窗口最小化最大化及关闭按钮都消失
- QT窗口去掉最大化最小化关闭按钮
- Qt在MDI area中新建subwindow时,默认最大最小化及关闭按钮在标题栏左边,怎么移到右边去
- 界面自定义按钮,带图标无边框背景透明按钮
- QT对话框自定义标题、最小化,最大化,关闭,帮助
- QT 在界面上添加按钮后点击触发两次槽函数