• 8384阅读
  • 14回复

按钮没有反应 [复制链接]

上一主题 下一主题
离线bombfans
 
只看楼主 倒序阅读 楼主  发表于: 2008-05-15
— 本帖被 XChinux 执行加亮操作(2008-05-15) —
按钮的slot是一个自定义函数,采用 connect( pushButton7, SIGNAL( clicked() ), this, SLOT( login() ) ); 进行了链接,在 xx.ui.h 中定义了函数:
void Kernel::login()
{
    printf("start scan---------------------------------------");
},但是不知道为什么按下按钮之后就是没有反应
离线bombfans
只看该作者 1楼 发表于: 2008-05-15

如图所示,按下登录按钮之后,下方的空白处无法显示正常情况下应该显示的内容,不知道是什么原因?
离线lzian
只看该作者 2楼 发表于: 2008-05-15

void Kernel::login()
{
    printf("start scan---------------------------------------");
}

是定义在主窗口的类中的
离线bombfans
只看该作者 3楼 发表于: 2008-05-15
引用第2楼lzian于2008-05-15 15:09发表的  :
是定义在主窗口的类中的

在public slots中定义了
    virtual void login();
离线lzian
只看该作者 4楼 发表于: 2008-05-15
printf()只显示在标准输出里
离线bombfans
只看该作者 5楼 发表于: 2008-05-15
引用第4楼lzian于2008-05-15 15:27发表的  :
printf()只显示在标准输出里

那我试试QT里的输出吧。谢谢
离线bombfans
只看该作者 6楼 发表于: 2008-05-15
为了表述的更清楚,传一个实验性的程序上来,功能是点击按钮之后,在按钮下方的文本框中输出一个句子。
附件: test.zip (4 K) 下载次数:4
离线lzian
只看该作者 7楼 发表于: 2008-05-16
你写的程序不规范,找本qt的书看看,《C++ GUI Programming With Qt4》
离线bombfans
只看该作者 8楼 发表于: 2008-05-16
引用第7楼lzian于2008-05-16 08:41发表的  :
你写的程序不规范,找本qt的书看看,《C++ GUI Programming With Qt4》

其实 test.zip 中的程序并没有代码是我写的,大多是自动生成的,我只是写了一个 test() 函数,用以输出一行字符。今天再次修改程序,发现可以在终端中输出字符了,但是就是不在文本编辑框里输出,这让我非常惊讶。

这个程序是在 QT3.2.1 下编写的,参考了其他的一些程序,发现在处理按钮和文本编辑框的槽和信号的关系上并没有什么区别啊。按钮发送 click() 信号,form 接收信号,对应的槽是 test() 函数。

我对 QT 确实不是很熟悉,如果有什么说的不对,还望不吝赐教,谢谢!
描述:示例程序
附件: test.zip (27 K) 下载次数:8
离线lzian
只看该作者 9楼 发表于: 2008-05-17
我用Qt4重新卸了一个,参考一下,
既然有了新的版本,就用新的好了
附件: another.rar (26 K) 下载次数:13
离线bombfans
只看该作者 10楼 发表于: 2008-05-17
引用第9楼lzian于2008-05-17 09:22发表的  :
我用Qt4重新卸了一个,参考一下,
既然有了新的版本,就用新的好了

非常感谢!但是这个程序被规定在 QT3 下完成,我也没有办法。
离线浪漫天使
只看该作者 11楼 发表于: 2008-05-19
测试环境:winxp+vc6+qt332 another.rar (14 K) 下载次数:6 qt3的来了
离线yunyun0220
只看该作者 12楼 发表于: 2008-05-19
引用第8楼bombfans于2008-05-16 23:08发表的  :
其实 test.zip 中的程序并没有代码是我写的,大多是自动生成的,我只是写了一个 test() 函数,用以输出一行字符。今天再次修改程序,发现可以在终端中输出字符了,但是就是不在文本编辑框里输出,这让我非常惊讶。
这个程序是在 QT3.2.1 下编写的,参考了其他的一些程序,发现在处理按钮和文本编辑框的槽和信号的关系上并没有什么区别啊。按钮发送 click() 信号,form 接收信号,对应的槽是 test() 函数。
.......


想在文本编辑框里显示需要用函数setText( )
离线lovelydeath

只看该作者 13楼 发表于: 2008-05-29
你要显示的位置不明确啊
离线sunnytang
只看该作者 14楼 发表于: 2008-09-03
不错,make了
快速回复
限100 字节
 
上一个 下一个