VS2008+Qt,设计好UI后控件怎样进行连接啊??

liwenmian 2010-06-18 07:53:05
VS2008 + Qt + Qt Integration,新建了一个Qt Application名字叫QtTest,然后双击QtTest.ui,添加一个pushButton和lineEdit,我想点击按钮然后编辑框中填入100,我要在QtTest.h和QtTest.cpp中怎样做啊?

希望能给具体代码,这里弄清楚了应该下面就好懂了!谢谢大家!
...全文
596 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
imhikaru 2010-11-15
  • 打赏
  • 举报
回复
首先你得了解信号和嘈的知识。
当一个消息发生的时候,与之相关联的嘈就会收到通知,然后执行。
QPushbutton本来就有clicked()信号。
而QTextEdit 有public 的嘈 void setText ( const QString &)

所以只要clicked()信号发生的时候 , QTextEdit收到通知就OK。

可以右键点击 pushbutton .go to slot 选择clicked()的响应函数。
test.h生成
private slots:
void on_pushButton_clicked();
test.cpp中生成如下函数
void MainWindow::on_pushButton_clicked()
{
//添加如下代码
ui->lineEdit->setText("100");
}
那么pushbutton按下的时候执行里面的函数。把lineEdit的文本设置为100。

也可以用信号和嘈。

在test.h添加
public:
signals:
void setLineText(QString);

在构造函数里面加上
connect(this,SIGNAL(setLineText(QString)),ui->lineEdit,SLOT(setText(QString)));

然后在 pushbutton的clicked里 emit setLineText("100");


xumpgm 2010-06-19
  • 打赏
  • 举报
回复
QT用槽和信号实现LZ想要的,槽和信号用connect关联起来,例:
connect(pushButton_ok_1, SIGNAL(clicked()), this, SLOT(LineTextEdit()));

抓住这一点,再看看教程,搞定应该没问题
qter_wd007 2010-06-18
  • 打赏
  • 举报
回复
看看一些教程。掌握信号/槽的使用。

原理都一样的,在槽函数中写处理代码。

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧