Qt4.4.3自带教程-几个Widget间通信

Qt Widgets通信示例
本文介绍了一个使用Qt实现的简单示例程序,演示了不同Widget之间的通信方式。具体包括QPushButton、QLCDNumber和QSlider组件的联动效果。通过QPushButton触发程序退出,QSlider改变其值时更新QLCDNumber的显示。
InBlock.gif//几个widget间通信 
InBlock.gif#include <QApplication> 
InBlock.gif#include <QFont> 
InBlock.gif#include <QLCDNumber> 
InBlock.gif#include <QPushButton> 
InBlock.gif#include <QSlider> 
InBlock.gif#include <QVBoxLayout> 
InBlock.gif#include <QWidget> 
InBlock.gif 
InBlock.gif//创建自定义Widget类 
InBlock.gifclass MyWidget : public QWidget 
InBlock.gif
InBlock.gifpublic
InBlock.gif        MyWidget(QWidget *parent = 0); 
InBlock.gif}; 
InBlock.gif 
InBlock.gifMyWidget::MyWidget(QWidget *parent) 
InBlock.gif        : QWidget(parent) 
InBlock.gif
InBlock.gif        QPushButton *quit = new QPushButton(tr("Quit")); 
InBlock.gif        quit->setFont(QFont("Times", 18, QFont::Bold)); 
InBlock.gif 
InBlock.gif        QLCDNumber *lcd = new QLCDNumber(3);//3位数字 
InBlock.gif        lcd->setSegmentStyle(QLCDNumber::Flat);//设置LCD数字的显示样式 
InBlock.gif 
InBlock.gif        QSlider *slider = new QSlider(Qt::Horizontal); 
InBlock.gif        slider->setRange(0, 999);//设置Slider的范围0-999 
InBlock.gif        slider->setValue(0);//设置Slider的位置 
InBlock.gif 
InBlock.gif  //quit按钮负责程序退出 
InBlock.gif        connect(quit, SIGNAL(clicked()), qApp, SLOT(quit())); 
InBlock.gif         
InBlock.gif        //连接slider的valueChanged信号和lcd的display槽 
InBlock.gif        connect(slider, SIGNAL(valueChanged(int)), 
InBlock.gif                        lcd, SLOT(display(int))); 
InBlock.gif 
InBlock.gif        QVBoxLayout *layout = new QVBoxLayout;//垂直布局 
InBlock.gif        layout->addWidget(quit);//添加子部件 
InBlock.gif        layout->addWidget(lcd); 
InBlock.gif        layout->addWidget(slider); 
InBlock.gif         
InBlock.gif        setLayout(layout);//设置布局 
InBlock.gif
InBlock.gif 
InBlock.gifint main(int argc, char *argv[]) 
InBlock.gif
InBlock.gif        QApplication app(argc, argv); 
InBlock.gif        MyWidget widget; 
InBlock.gif        widget.show(); 
InBlock.gif        return app.exec(); 
InBlock.gif
 
截图:
 







本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/103863,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值