假设我在主窗口中有一个小部件,并且想要仅在小部件上跟踪鼠标位置:这意味着小部件的左下角必须是本地的(0,0).
问:我怎么能这样做?
ps以下函数没有这样做.
widget->mapFromGlobal(QCursor::pos()).x();
QCursor::pos()).x();
event->x();
Run Code Online (Sandbox Code Playgroud) 我在Ah中有以下代码:
class A
{
public:
...
private:
...
const int X = 1;
float Y[X];
...
};
Run Code Online (Sandbox Code Playgroud)
如果项目中只包含标题Ah,则编译很好.但是,如果我包括啊,让我们说A.cpp它会给我带来如下奇怪的错误:
...警告:非静态数据成员初始化程序仅适用于-std = c ++ 11或-std = gnu ++ 11 [默认启用]
...错误:无效使用非静态数据成员'A :: X'
......错误:从这个位置
即使我改变了const int X = 1;(虽然我需要它作为常量参数),但没有任何改变.
ps如果有意义我使用的是Qt 5.1
pss实际上使它static修复了错误.但为什么我必须这样做?
我有一个 openGL 小部件,并且知道我可以获取鼠标的坐标,如下所示:
X = this->mapFromGlobal(QCursor::pos()).x();
Y = this->mapFromGlobal(QCursor::pos()).y();
Run Code Online (Sandbox Code Playgroud)
让我们假设我的鼠标位于小部件上的 (X, Y) 位置。现在我想在小部件上按鼠标左键,然后将光标再次移动到小部件中的另一个位置(比如说(X',Y')),然后松开鼠标左键。
问:如何保留(X,Y)和(X',Y')?
如何在字符串中的符号前获取文本?有任何想法吗?
例如 acsbkjb/123kbvh/123jh/
先得到文字 - "/"