Posts Tagged ‘圆角代码’
QT paintEvent重绘事件及窗体圆角代码
星期日, 一月 27th, 2013 191 views利用重回paintEvent重绘事件来进行窗体重绘,本例中使用一个圆角代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | void MainWindow::paintEvent(QPaintEvent *){ QBitmap objBitmap(size()); //QPainter用于在位图上绘画 QPainter painter(&objBitmap); //填充位图矩形框(用白色填充) painter.fillRect(rect(),Qt::white); painter.setBrush(QColor(0,0,0)); //在位图上画圆角矩形(用黑色填充) painter.drawRoundedRect(this->rect(),10,10); //使用setmask遮罩 setMask(objBitmap); } |
在mainwindow.cpp中直接添加 MainWindow::paintEvent 方法,主窗体运行时会自动调用该处的重绘代码。
本段代码使用了遮罩原理进行圆角绘制。举一反三后,其原理可以用到更多的地方。
最后效果如下:
注意,当使用了遮罩后,程序自带的标题框会消失,或者说是被覆盖了。
本文到此,感谢关注。
BeiTown
2013.01.27