Qt4.4.3自带教程-这次分成多个文件

本文介绍了一个名为LCDRange的自定义控件实现方法,该控件结合了QLCDNumber和QSlider,用于显示和调整范围值。通过示例代码展示了如何在Qt中创建并使用这个控件,并将其集成到更大的应用程序布局中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lcdrange.h文件:
InBlock.gif#ifndef __LCDRANGE_H__ 
InBlock.gif#define __LCDRANGE_H__ 
InBlock.gif 
InBlock.gif#include <QWidget> 
InBlock.gif 
InBlock.gif// place your code here 
InBlock.gifclass LCDRange : public QWidget 
InBlock.gif
InBlock.gifpublic
InBlock.gif        LCDRange(QWidget *parent = 0); 
InBlock.gif}; 
InBlock.gif 
InBlock.gif#endif // __LCDRANGE_H__ 
 
lcdrange.cpp文件:
 
InBlock.gif#include <QLCDNumber> 
InBlock.gif#include <QSlider> 
InBlock.gif#include <QVBoxLayout> 
InBlock.gif 
InBlock.gif 
InBlock.gif#include "lcdrange.h" 
InBlock.gif 
InBlock.gifLCDRange::LCDRange(QWidget *parent) 
InBlock.gif        : QWidget(parent) 
InBlock.gif
InBlock.gif  //LCD数字 
InBlock.gif        QLCDNumber *lcd = new QLCDNumber(2); 
InBlock.gif        lcd->setSegmentStyle(QLCDNumber::Flat); 
InBlock.gif 
InBlock.gif  //Slider 
InBlock.gif        QSlider *slider = new QSlider(Qt::Horizontal); 
InBlock.gif        slider->setRange(0, 99); 
InBlock.gif        slider->setValue(0); 
InBlock.gif        connect(slider, SIGNAL(valueChanged(int)),lcd, SLOT(display(int))); 
InBlock.gif 
InBlock.gif  //布局 
InBlock.gif        QVBoxLayout *layout = new QVBoxLayout; 
InBlock.gif        layout->addWidget(lcd); 
InBlock.gif        layout->addWidget(slider); 
InBlock.gif        setLayout(layout); 
InBlock.gif
 
 
mywidget.h头文件:
 
InBlock.gif#ifndef __MYWIDGET_H__ 
InBlock.gif#define __MYWIDGET_H__ 
InBlock.gif#include <QWidget> 
InBlock.gif 
InBlock.gifclass MyWidget : public QWidget 
InBlock.gif
InBlock.gifpublic
InBlock.gif        MyWidget(QWidget *parent = 0); 
InBlock.gif}; 
InBlock.gif 
InBlock.gif#endif // __MYWIDGET_H__
 
 
mywidget.cpp类实现文件:
 
InBlock.gif#include <QApplication> 
InBlock.gif#include <QPushButton> 
InBlock.gif#include <QFont> 
InBlock.gif#include <QGridLayout> 
InBlock.gif 
InBlock.gif#include "lcdrange.h" 
InBlock.gif#include "mywidget.h" 
InBlock.gif 
InBlock.gif//MyWidget类实现部分 
InBlock.gifMyWidget::MyWidget(QWidget *parent) 
InBlock.gif        : QWidget(parent) 
InBlock.gif
InBlock.gif  //创建quit按钮 
InBlock.gif        QPushButton *quit = new QPushButton(tr("Quit")); 
InBlock.gif        quit->setFont(QFont("Times", 18, QFont::Bold)); 
InBlock.gif        connect(quit, SIGNAL(clicked()), qApp, SLOT(quit())); 
InBlock.gif 
InBlock.gif  //网格布局 
InBlock.gif        QGridLayout *grid = new QGridLayout; 
InBlock.gif        for (int row = 0; row < 3; ++row) { 
InBlock.gif                for (int column = 0; column < 3; ++column) { 
InBlock.gif                        LCDRange *lcdRange = new LCDRange;//创建LCD+Slider 
InBlock.gif                        grid->addWidget(lcdRange, row, column); 
InBlock.gif                } 
InBlock.gif        } 
InBlock.gif 
InBlock.gif        QVBoxLayout *layout = new QVBoxLayout; 
InBlock.gif        layout->addWidget(quit); 
InBlock.gif        layout->addLayout(grid);//子布局 
InBlock.gif         
InBlock.gif        setLayout(layout);//设置布局 
InBlock.gif
 
主程序文件main.cpp:
 
InBlock.gif//主程序文件 
InBlock.gif#include <QApplication> 
InBlock.gif#include "mywidget.h" 
InBlock.gif 
InBlock.gifint main(int argc, char *argv[]) 
InBlock.gif
InBlock.gif        QApplication app(argc, argv); 
InBlock.gif         
InBlock.gif        //创建MyWidget的一个实例 
InBlock.gif        MyWidget widget; 
InBlock.gif        widget.show(); 
InBlock.gif         
InBlock.gif        return app.exec(); 
InBlock.gif
 
 
结果同上次的:






本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/104035,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值