Qt之自定义界面(二)添加最小化、关闭按钮、添加背景
2014-03-28 11:56
351 查看
http://blog.sina.com.cn/s/blog_a6fb6cc90101auay.html
在进行自定义界面之后,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界面并不像我们想象的那么完美,也许与我们的预期大相径庭,但是不必心烦,这只不过是迈出了第一步而已,第一步既然都已经迈出去了,那么以后的路就会好走多了!
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之界面实现技巧之按钮,边框,主题背景等
- QT 在界面上添加按钮后点击触发两次槽函数
- 让Qt的窗口最小化最大化及关闭按钮都消失
- Qt 添加最小化按钮 最大化按钮
- 最大化/最小化/还原/关闭以及按钮图片的添加
- 让Qt的窗口最小化最大化及关闭按钮都消失
- C# 窗体的最大化、最小化、关闭按钮的自定义
- QT窗口去掉最大化最小化关闭按钮
- 界面添加弹出菜单 隐藏主界面的菜单栏 隐藏右上角最大化最小化按钮
- QDialog 添加最大化、最小化按钮和关闭按钮,并且要正常显示
- 【Qt】自定义标题栏并实现最小化/最大化/关闭窗口功能
- Qt 绘制系统自带的最小化按钮和关闭按钮 及 解决中文乱码问题
- QT 初学 单击一个按钮 ,关闭一个界面 ,打开另外的一个界面 源码
- 每日积累(20170609-day-24)(Qt designer 界面 最小化及最大化按钮)