Archive for 一月, 2013

QT paintEvent重绘事件及窗体圆角代码

星期日, 一月 27th, 2013 66 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

QT外部调用qss样式表方法

星期日, 一月 27th, 2013 76 views

以利用qss样式在主窗口添加背景图片为例:

①新建qss文件
建立文本文件,内容先空着一会添加。更改文件后缀名为qss。本例中qss为style.qss

②创建qrc资源文件
右键点项目 “Add New(添加新文件)”->”QT Resource file(QT资源文件)” 生成一个qrc文件。本例中qrc为src.qrc

③将qss文件添加进qrc中
(更多…)

QT调用多个UI窗口的方法及error LNK2019修复

星期六, 一月 26th, 2013 790 views

首先是创建一个QT项目,选择QT Gui应用。然后一直下一步。

创建完成后项目结构如下

这个时候点运行,出现一个空的mainwindow界面,这里就不截图了。
(更多…)

BeiTown学习方式

星期三, 一月 2nd, 2013 7 views

就IT知识来说,如果目前没有实际运用的需要,我只做一个大概的笔记,甚至是目录,只是为了告诉大脑记住有这么一个东西可以解决什么问题。

至于具体实施方法,快速阅读它甚至略过。直到需要用时,凭借大脑中的目录,在书中或者是网络中查到具体的实现方法。

在实践中,只需要照做一次,分析一次,就可以基本记住了。效率之高,远远大过硬记。

人的一生,精力何其有限,IT的思想在目录中已经初显端倪,掌握具体的实施只是时间问题。

这于我来说,是最最快速的学习方式。

因为时间,在保证良好休息的基础上,一天只有十六个小时,真的不够用。

BeiTown
2013.01.03