QMainWindow不响应qt mousepresseventReleaseEvent事件,该怎么解决

QMainWindow不响应mouseReleaseEvent事件解决方案 - QT开发当前位置:& &&&QMainWindow不响应mouseReleaseEvent事件解决方案QMainWindow不响应mouseReleaseEvent事件解决方案&&网友分享于:&&浏览:7次QMainWindow不响应mouseReleaseEvent事件建的一个QMainWindow只能响应mousePressEvent事件,却不能够响应mouseReleaseEvent事件和mouseMoveEvent事件,请问这是怎么回事?------解决方案--------------------QMainWindow只能响应mousePressEvent事件,却不能够响应mouseReleaseEvent事件?
这个是不可能的。
mouseMoveEvent是需要将左键按下移动鼠标才有的。------解决方案--------------------QWidget
mouseTracking&:&bool
This&property&holds&whether&mouse&tracking&is&enabled&for&the&widget.
If&mouse&tracking&is&disabled&(the&default),&the&widget&only&receives&mouse&move&events&when&at&least&one&mouse&button&is&pressed&while&the&mouse&is&being&moved.
If&mouse&tracking&is&enabled,&the&widget&receives&mouse&move&events&even&if&no&buttons&are&pressed.
Access&functions:
bool hasMouseTracking&()&const
void setMouseTracking&(&bool&enable&)
See&also&mouseMoveEvent().------解决方案--------------------3楼正解。
楼主最好把代码贴出来,分析下。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有QTreeWidget中怎么触发判断鼠标左键的点击事件_百度知道
QTreeWidget中怎么触发判断鼠标左键的点击事件
提问者采纳
item-&gt:;));
connect( treeW));
resize ( 500,int column){
QMessageB#include &lt,因为源码里面mousePressEvent方法用来绘制treeW#include &pos ()).实现#include &quot:
QMainWindow(parent){
treeWidget = new QTreeWidget2:;#endif &#47: public QTreeWidget{
Q_OBJECTsetContextMenuPolicy(Qt;
QTreeWidgetItem *item2 = new QTreeWidgetItem( item1 ); TREEWIDGET_H2:warning (this:;setHeaderLabel ( tr(&quot:warning (this,
this,SLOT(setTest2(const QPoint &)));pos () )): public QMainWindow{
Q_OBJECTpublic:
explicit QTreeWidget2( QWidget *parent = 0 );#include
connect( treeW
}else if (event-&gt:
void setTest2(const QPoint &pos),tr(&quot,400 );hello&
void setTest(QTreeWidgetItem*item:CustomContextMenu);sd&setText (0;));pos () );a&quot:setTest2(const QPoint &pos){
currentItem = treeWidget-&class MainWQtDebug&root&quot:
void mouseReleaseEvent (QMouseEvent *event);/}:LeftButton){
emit itemClicked(itemFromIndex (indexAt ( event-&setText (0,int));).继承QTreewidget重新实现他的mouseReleaseEvent方法:mouseReleaseEvent (QMouseEvent *event){
if (event-&}void MainW)); MAINWINDOW_H#include &#endif /QTreeWidget2;button () & Qt;
QTreeWidgetItem *currentI
setCentralWidget ( treeWidget );资源列表&quot.h&
if ( currentItem == NULL )&#47,int))),
this.测试#ifndef MAINWINDOW_H#define MAINWINDOW_H#include &lt,indexAt ( event-&treeWidget:Tb&QMessageBox&
QTreeWidgetItem *item = new QTreeWidgetItem( root )1,tr(&quot:QTreeWidget(parent){}void QTreeWidget2;
root-&treeWprivate.h&quot:setTest(QTreeWidgetItem*item:,tr(&) ););#include &lt,int column);QTreeWidget&setText (0;class QTreeWidget2 ;QWidget&gt,tr(&quot.column ());static const int itemtype1 = QTreeWidgetItem:MainWindow(QWidget *parent);
item2-&MainWindow::RightButton )
emit customContextMenuRequested( event-&test&quot.h&quot,tr(&
QMessageBasd&));button () & Qt;
QTreeWidgetItem *item1 = new QTreeWidgetItem( item );class QTreeWidget2:
explicit MainWindow( QWidget *parent = 0 );itemAt(pos),SIGNAL(itemClicked(QTreeWidgetItem*;)):QTreeWidget2( QWidget *parent)QMouseEvent&};QMainWindow&gt:;
QTreeWidgetItem *root = new QTreeWidgetItem( treeWidget ):,tr(&c&quot,tr(&quot::;
item1-&setText (0:
QTreeWidget2 *treeWidget:;}void MainWindow,SLOT(setTest(QTreeWidgetItem*:;#include &
treeWidget-&QTreeWidgetItem&mainwindow,SIGNAL(customContextMenuRequested( const QPoint &)),为什么是release方法;#include &lt,而release方法则会发送出点击事件的信号#ifndefTREEWIDGET_H#define TREEWIDGET_H#ifndef TREEWIDGET_H#define TREEWIDGET_H#include &
treeWidget-&gt,tr(&quot
电脑网络爱好者
其他类似问题
为您推荐:
鼠标左键的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁1436人阅读
在ui上添加两个控件,分别为lable和pushButton。
在mainwindow.h中添加两个事件:mouseMoveEvent &和 &keyPressEvent
实现的功能为:按下键盘z键,显示一张图片
& & & & & & & & & & & & & & 按下pushbutton,显示坐标,并将光标自定义一个图标
代码如下:
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include &QtWidgets/QMainWindow&
#include &ui_mainwindow.h&
#include &QMouseEvent&
class MainWindow : public QMainWindow
MainWindow(QWidget *parent = 0);
~MainWindow();
void mouseMoveEvent(QMouseEvent *);
void keyPressEvent(QKeyEvent *);
Ui::MainWindowC
#endif // MAINWINDOW_H
//mianwindow.cpp
#include &mainwindow.h&
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
ui.setupUi(this);
ui.label-&setText(tr(&push the key: z&));
ui.pushButton-&setText(tr(&try to press the mouse and to move &));
MainWindow::~MainWindow()
void MainWindow::mouseMoveEvent(QMouseEvent *e)
QCursor my(QPixmap(&C:/Users/sony/Desktop/practice/1/Win32/Debug/bubble.png&));
QApplication::setOverrideCursor(my);
int x = e-&pos().x();
int y = e-&pos().y();
ui.pushButton-&setText(tr(&mouse:(%1,%2)&).arg(x).arg(y));
ui.pushButton-&move(e-&pos());
void MainWindow::keyPressEvent(QKeyEvent *e)
if(e-&key() == Qt::Key_Z)
ui.label-&setPixmap(QPixmap(&C:/Users/sony/Desktop/pic/Lena.jpg&));
ui.label-&resize(100, 100);
//main.cpp
#include &mainwindow.h&
#include &QtWidgets/QApplication&
int main(int argc, char *argv[])
QApplication a(argc, argv);
return a.exec();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:86539次
积分:2356
积分:2356
排名:第10990名
原创:144篇
转载:58篇
(3)(3)(3)(2)(10)(4)(1)(8)(29)(17)(6)(16)(13)(13)(42)(14)(5)(12)(1)QMainWindow不响应mouseReleaseEvent事件,该怎么解决 - QT开发&&&&>>&& QMainWindow不响应mouseReleaseEvent事件建的一个QMainWindow只能响应mousePressEvent事件,却不能够响应mouseReleaseEvent事件和mouseMoveEvent事件,请问这是怎么回事?------解决方案--------------------QMainWindow只能响应mousePressEvent事件,却不能够响应mouseReleaseEvent事件?这个是不可能的。mouseMoveEvent是需要将左键按下移动鼠标才有的。
------解决方案--------------------QWidgetmouseTracking : boolThis property holds whether mouse tracking is enabled for the widget.If mouse tracking is disabled (the default), the widget only receives mouse move events when at least one mouse button is pressed while the mouse is being moved.If mouse tracking is enabled, the widget receives mouse move events even if no buttons are pressed.Access functions:bool hasMouseTracking () constvoid setMouseTracking ( bool enable )See also mouseMoveEvent().
------解决方案--------------------3楼正解。楼主最好把代码贴出来,分析下。Qt复习重点_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Qt复习重点
上传于||文档简介
&&Q​t​复​习​重​点
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢}

我要回帖

更多关于 qt mousepressevent 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信