QT怎么设置单元格不响应鼠标单击事件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT怎么设置单元格不响应鼠标单击事件?相关的知识,希望对你有一定的参考价值。

正在做一个项目,要求指定一个表格中某些单元格不可响应鼠标的单击事件,怎么做?谢啦。。。

设置QTableWidgetItem的flag。如果你用了QtDesigner可以直接双击表格,选择“项目”,点开右下角“属性”,里面有flag的设置,enable取消掉就行了。代码的话用函数setFlags。 参考技术A 重写mousePressEvent(QMouseEvent *event) 在里面写处理事件就行了!

MFC的静态控件怎么响应鼠标事件呀。。要详细一点的。。我菜鸟,谢谢

就是静态控件。。图片之类的响应鼠标按下的事件,在没有控件的区域能响应,但静态控件上总是响应不了,不知道怎么处理

参考技术A 在你想要添加响应的类上,
右键添加消息处理Add windows Message Handle
选择windows事件 WM_LBUTTONDOWN
然后编辑函数追问

picture类上只有单击事件,没有鼠标按下事件。。。
菜鸟,抱歉

参考技术B Windows中通过光标来指示当前鼠标的位置,在Windows操作系统中预定义了几种光标,并在Windows.h头文件中加以定义;用户也可以自定义光标,自定义光标保存在扩展名为.cur的文件中:光标名 CURSOR 光标文件(.cur)
加载光标资源(常在定义窗口类时进行)
LoadCursor(hThisInst,lpszCursorname)
另外:
lParam包含了鼠标位置(低位包含鼠标位置的x坐标值,高位包含鼠标位置的y坐标)
wParam包含了指示各种虚键状态的值(如:WM_LBUTTONDOWN用户区内按下鼠标左键等消息)
例如下面的部分代码:
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) //窗口处理函数
HCURSOR hcursor;
static int x,y; //鼠标的坐标值
switch(message)

case WM_MOUSEMOVE: //事件,鼠标移动
x=LOWORD(lParam); //得到鼠标的x、y坐标值
y=HIWORD(lParam);
if(x>50&&x<150&&y>50&&y<150) //判断鼠标是否在目标区域
hcursor=LoadCursor(NULL,IDC_CROSS); //十字光标
SetCursor(hcursor);

……
case WM_LBUTTONDOWN: //事件,鼠标左键被按下
……


上面就是应用程序对鼠标的响应,但是不知道你提问的问题具体是指哪方面的响应,不知道我的回答能否让你满意。本回答被提问者采纳
参考技术C static text 那个控件嘛??还是??

以上是关于QT怎么设置单元格不响应鼠标单击事件?的主要内容,如果未能解决你的问题,请参考以下文章

QT编程Widget鼠标事件

MFC的静态控件怎么响应鼠标事件呀。。要详细一点的。。我菜鸟,谢谢

MFC中如何在指定的区域响应鼠标单击事件

Qt Creator 鼠标悬浮信号怎么生成?就像MFC里的OVERMOUSE。

是否可以在 Qt3.0 中发出跨进程信号或发布触摸/鼠标单击事件?

单击事件和双击事件冲突问题