当在一个窗口里按住鼠标按键、或移动、或释放就会产生鼠标事件QMouseEvent
#include <QMouseEvent>
//鼠标双击事件
void mouseDoubleClickEvent(QMouseEvent *event);
鼠标样式
Qt::CursorShape
QPixmap or QBitmap自定义
QCursor cursor ;
QPixmap pixmap(“cursor.png”) ;
cursor = QCursor(pixmap,-1,-1);
setCursor(cursor) ;
x pixmap (xpm)
static const char *const cursor_xpm[] = {
"15 15 3 1",
" c None",
". c #0000aa", //.的颜色
"* c #aa0000", //*的颜色
" ..... ",
" ..*****.. ",
" . *** . ",
" . *** . ",
" . *** . ",
". *** .",
". ***** .",
".*************.",
". ***** .",
". *** .",
" . *** . ",
" . *** . ",
" . *** . ",
" ..*****.. ",
" ..... "
};
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
QCursor myCursor(cursor_xpm);
setCursor(myCursor);
}
键盘
头文件加入
protected:
virtual void keyPressEvent(QKeyEvent *ev);
virtual void keyReleaseEvent(QKeyEvent *ev);
cpp文件
void Camera::keyPressEvent(QKeyEvent *ev)
{
if(ev->key() == Qt::Key_Space)
{
on_startBt_clicked();
}
QWidget::keyPressEvent(ev);
}
在构造函数中添加这个函数,使其具有捕获键盘事件的能力。注意此句添加之后,其它部件就接收不到
键盘事件了。
this->grabKeyboard();