11yichengming 发表于 2014-8-3 22:19:37

为什么信号只促发了一次,槽函数执行了两次?

程序大概的意思是按backspace键,就会回删文本,然后促发textChanged()槽函数。很简单的一个程序。。。输入文本是正常的促发,然后执行一次,但是回删的话就会执行两次。

Joey_Chan 发表于 2014-8-4 09:16:08

大概我还记得以前学过的东西,好像是退格键本身是一个字符,你按下去后就增加了一个字符,然后程序根据算法把退格键和前一个字给删除了。

应该是这样吧

11yichengming 发表于 2014-8-4 09:37:02

Joey_Chan 发表于 2014-8-4 09:16 static/image/common/back.gif
大概我还记得以前学过的东西,好像是退格键本身是一个字符,你按下去后就增加了一个字符,然后程序根据算法 ...

有人说这是QT的BUG,在5.3版本中已经改进了。但是我用的是4.8,这个怎么解决呢。。。

Joey_Chan 发表于 2014-8-4 17:32:37

11yichengming 发表于 2014-8-4 09:37 static/image/common/back.gif
有人说这是QT的BUG,在5.3版本中已经改进了。但是我用的是4.8,这个怎么解决呢。。。 ...

如果是bug的话真没办法了,官方已经不再更新qt4

11yichengming 发表于 2014-8-6 12:20:24

Joey_Chan 发表于 2014-8-4 17:32 static/image/common/back.gif
如果是bug的话真没办法了,官方已经不再更新qt4

再问个小问题,可以用什么方法实现在TextEdit中改变某个字符的字体颜色或者背景颜色?大概是个怎么个步骤?以前用的GTK实现的方法是:先找到那个字符,用标记来实现,即 start_mark'字符'end_mark ,然后再改变这两个标记之间的字符颜色或者背景色。qt里面怎么实现呢?

Joey_Chan 发表于 2014-8-6 23:59:18

11yichengming 发表于 2014-8-6 12:20 static/image/common/back.gif
再问个小问题,可以用什么方法实现在TextEdit中改变某个字符的字体颜色或者背景颜色?大概是个怎么个步骤 ...

用html的方式,网页上怎么改变字体颜色的 在qt上也可以这样改

11yichengming 发表于 2014-8-7 08:28:56

Joey_Chan 发表于 2014-8-6 23:59 static/image/common/back.gif
用html的方式,网页上怎么改变字体颜色的 在qt上也可以这样改

但是如果我是在文本框已经有了文本的条件下,再去改变某个字符的颜色呢?这该怎么个操作法?

Joey_Chan 发表于 2014-8-7 09:11:50

11yichengming 发表于 2014-8-7 08:28 static/image/common/back.gif
但是如果我是在文本框已经有了文本的条件下,再去改变某个字符的颜色呢?这该怎么个操作法? ...

html我不是很懂,不过原理是一样的,比如加粗是 <b>和</b>类推

11yichengming 发表于 2014-8-7 09:30:02

Joey_Chan 发表于 2014-8-7 09:11 static/image/common/back.gif
html我不是很懂,不过原理是一样的,比如加粗是   和    类推

额。。这个我知道。我至少弄过网站,就是不知道怎么去选取特定的文本字符,然后用html改变它的格式。。。。

Joey_Chan 发表于 2014-8-7 23:48:16

11yichengming 发表于 2014-8-7 09:30 static/image/common/back.gif
额。。这个我知道。我至少弄过网站,就是不知道怎么去选取特定的文本字符,然后用html改变它的格式。。。 ...

如果你的文本是动态的话那的确是挺麻烦的。。。要自己去判断文本内容了

11yichengming 发表于 2014-8-8 10:44:13

Joey_Chan 发表于 2014-8-7 23:48 static/image/common/back.gif
如果你的文本是动态的话那的确是挺麻烦的。。。要自己去判断文本内容了 ...

已解决。http://blog.sina.com.cn/s/blog_a07a3f180102uyou.html
页: [1]
查看完整版本: 为什么信号只促发了一次,槽函数执行了两次?