要想在Qt中实现屏幕或窗口截图功能 ,通常有两种方法: 1  -- 使用 QPixmap 类 2  -- 使用 QScreen类 然而虽然俩两种方法用到的类不相同,但是调用到的类成员函数的函数名称和参数却是相同的 都是 grabWindow() 这个函数 所不同的是,QPixmap中的 grabWindow()函数 是静态成员 QScreen中的grabWindow()成员是非静态成员 下面展示两种截屏的方法 QPixmap方法 //截屏并保存为 123.jpg QPixmap::grabWin…
1.Qt中的主窗口 主窗口为建立应用程序用户界面提供了一个框架 Qt开发平台中直接支持主窗口的概念 QMainWindow是Qt中主窗口的基类 QMainWindow继承于QWidget是一种容器类型的组件 QMainWindow只能作为顶层组件 2.QMainWindow的优势--QMainWindow类拥有自己的布局 3. 主窗口中的菜单 (1)Qt提供与菜单相关的类组件 (2)QMenuBar类.QMenu类和QAction类 ①QMenuBar:QMenuBar类提供了一个水平的菜单栏,…
最近一直在用Qt做一个简单的俄罗斯方块的游戏,由于要实现一个暂停游戏的功能,就是当鼠标移出正在运行的游戏,点击电脑桌面上的其他位置时,这个时候游戏暂停.在这里把实现过程简单的记录一下,作为一个学习笔记,如果有什么错误之处,还希望大家指出,共同提高,谢谢!刚开始的时候,我很自然的想到要实现这个功能,只要重载一下下面的这个函数: void QWidget::focusOutEvent ( QFocusEvent * event )   [virtual protected] 我赶紧的测试一下,但是发…
在python web自动化测试中失败截图方法汇总一文中提到了失败截图的方法 但在实际测试中,如果我们的测试用例中加了addCleanups动作,如果addCleanups中动作失败了,就不会截图.那么该怎么做呢,解铃还得系铃人,还是得从addCleanups下手 思路: 我将在 addCleanup中再加一个截图的函数,但怎么判断用例是用例内失败还是addCleanup中失败呢,方法如下 我们在执行完用例后,看看self的属性,包括如下: (Pdb) print dir(self) ['__c…
Qt创建菜单和工具栏: 一.  temp.h文件的内容 1.定义类temp继承QMainWindow 2.添加Q_OBJECT , 构造函数 . 析构函数等内容 3.$重点内容 3.1定义QAction *newAction;  (相当于菜单和工具条里面的基本功能如:新建.打开文件) 3.2定义QMenu *fileMenu; 3.3定义  QToolBar *fileToolBar; 4.定义QAction的响应函数即slot函数: private slots: void msg(); 二.…
这个是从网上转载过来的,我第一次看到的在如下网页:http://blog.csdn.net/cgb0210/article/details/5712980  这里我记录一下,留以后查阅. 一种方法是设置它的最大大小和最小大小,并且使它们的值相等,都等于当前你设置的窗口尺寸. 简单的示例: setMinimumSize(370, 150); setMaximumSize(370, 150); 其他如height和width一般可以不理会. 一种方法是使用setFixedSize(),这样一句话就可…
 1 新建一个空Qt项目 编写12MainWindow.pro HEADERS += \ MyMainWindow.h \ MyView.h SOURCES += \ MyMainWindow.cpp \ MyView.cpp QT += gui widgets MyView.h #ifndef MYVIEW_H #define MYVIEW_H   #include <QWidget>   class MyView:public QWidget{     Q_OBJECT public:…
void CircleWidget::paintEvent(QPaintEvent * event) { QPainter painter(this); int wight = this->width(); int heigth = this->height(); ) { QColor green(, , 0xff); QPen pen(green); painter.setBrush(QBrush(QColor(0x00, 0xFF, 0x00))); pen.setStyle(Qt::Da…
1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegExpValidator(regExp,this)); lineEdit->setValidator(new QRegExpValidator(regExp,this));   2:QObject::connect() connect(objectA,SIGNAL(methodA()),objectB,SL…
这两天在总结一些以往project中遇到的问题,正好别组有同事问我关于Qt中各个widget窗口的前后位置是如何定义的,这里就总结一下: 在Qt中,所有问题都要一分为二,讨论两种不同的情况:一个是最常用的QWidget体系,而另外一个则是QGraphicsWidget体系. ①:在常用的QWidget体系中,设置前后位置是主要是用raise(),underStack(),hide()函数. 理论为:在Qt中每个widget窗口都维持着自己的一个创建栈(widget's stack.),栈里边存放…