如何让qt实现在光标出输出字符

时间:2022-12-28 22:15:15
希望能实现:鼠标点击一个button,程序在光标处输出特定的字符(光标在word或其他任何地方都能实现),希望高手给出解答(最好给出详细的程序),本人是新手,分数也不多,只能请大家帮帮忙拉

9 个解决方案

#1


可以设个小小的线程

在鼠标点下时,记录鼠标坐标。然后画个小光标

RGB颜色就是0  和 255两种
算法也很简单,可以

int flag=-1;
unsigned char rgb=0;
rgb+=1;
flag*=-1;
或者。。

int i=1
int rgb=0;
rgb+=i*255;
i*=-1;

这样执行这个线程就好了。

#2


什么叫画个小光标啊,我是说光标已经有了啊,比如此刻在word中,我要求点击一个button按钮,在word中输出字符,相当于软件盘的功能

#3


什么叫画个小光标,我是说光标已经有了啊,比如此刻在word中,点击一个button按钮,在word中输出字符,相当于软键盘的功能

#4




一般编辑控件(如mfc的 CEdit)都提供两个接口

从界面更新到数据

从数据更新到界面(你需要的是这种功能)

qt也应该提供

#5


不好意思。。理解错误。 。

#6


按照我的理解,假设有一个编辑控件,一个button,你点击button后,会在编辑控件中显示字符,如果是的话,那就如下
先假设你点击button会输出12345
class ourbutton : public QPushButton
{
  Q_OBJECT
public:
  ourbutton(QWidget *parent = 0) : QPushButton(parent)
  {
     connect(this, SIGNAL(clicked()),
             this, SLOT(getText()));
  }
signals:
  void sendText(const QString &text); 
private slots:
  void getText() { emit sendText(tr("12345")) }
};

QLineEdit *edit = new QLineEdit();
ourbutton *button = new ourbutton();
connect(button, SIGNAL(sendText(const QString &text)),
);

#7


接上面,没写完

QLineEdit *edit = new QLineEdit();
ourbutton *button = new ourbutton();
connect(button, SIGNAL(sendText(const QString &)),
        edit, SLOT(setText(const QString &)));
这样,你点击button,就会在edit里面出现字符了,如果你要先显示光标,可以仿照上面的写一下setFocus函数就可以了

#8


知道鼠标的坐标 然后输出就行了

#9


siddontang的意思我懂,是自己建立一个输出的窗口,然后所有的输出都输出到那个窗口,但是,我需要程序能向任何窗口(有光标,并且是当前活动的窗口)输出
expter知道如何获得鼠标的坐标吗,还有接下去怎么做,希望能讲的详细点
另外不知道有没有知道这样行不行,在QT中能否获得当前活动窗口的句柄,然后通过句柄向窗口输出,如果可以的话,希望高手能详细的教教我

#1


可以设个小小的线程

在鼠标点下时,记录鼠标坐标。然后画个小光标

RGB颜色就是0  和 255两种
算法也很简单,可以

int flag=-1;
unsigned char rgb=0;
rgb+=1;
flag*=-1;
或者。。

int i=1
int rgb=0;
rgb+=i*255;
i*=-1;

这样执行这个线程就好了。

#2


什么叫画个小光标啊,我是说光标已经有了啊,比如此刻在word中,我要求点击一个button按钮,在word中输出字符,相当于软件盘的功能

#3


什么叫画个小光标,我是说光标已经有了啊,比如此刻在word中,点击一个button按钮,在word中输出字符,相当于软键盘的功能

#4




一般编辑控件(如mfc的 CEdit)都提供两个接口

从界面更新到数据

从数据更新到界面(你需要的是这种功能)

qt也应该提供

#5


不好意思。。理解错误。 。

#6


按照我的理解,假设有一个编辑控件,一个button,你点击button后,会在编辑控件中显示字符,如果是的话,那就如下
先假设你点击button会输出12345
class ourbutton : public QPushButton
{
  Q_OBJECT
public:
  ourbutton(QWidget *parent = 0) : QPushButton(parent)
  {
     connect(this, SIGNAL(clicked()),
             this, SLOT(getText()));
  }
signals:
  void sendText(const QString &text); 
private slots:
  void getText() { emit sendText(tr("12345")) }
};

QLineEdit *edit = new QLineEdit();
ourbutton *button = new ourbutton();
connect(button, SIGNAL(sendText(const QString &text)),
);

#7


接上面,没写完

QLineEdit *edit = new QLineEdit();
ourbutton *button = new ourbutton();
connect(button, SIGNAL(sendText(const QString &)),
        edit, SLOT(setText(const QString &)));
这样,你点击button,就会在edit里面出现字符了,如果你要先显示光标,可以仿照上面的写一下setFocus函数就可以了

#8


知道鼠标的坐标 然后输出就行了

#9


siddontang的意思我懂,是自己建立一个输出的窗口,然后所有的输出都输出到那个窗口,但是,我需要程序能向任何窗口(有光标,并且是当前活动的窗口)输出
expter知道如何获得鼠标的坐标吗,还有接下去怎么做,希望能讲的详细点
另外不知道有没有知道这样行不行,在QT中能否获得当前活动窗口的句柄,然后通过句柄向窗口输出,如果可以的话,希望高手能详细的教教我