一、QT输入控件
二、QT输出控件
三、使用举例
1.建立工程 eg:工程名input_out
2.添加widget.h内容
#include <QWidget>
//常用输入头文件
#include <QLineEdit> //行输入头文件
#include <QTextEdit> //文本框输入头文件 可以多行输入
#include <QComboBox>
#include <QTimeEdit>
#include <QDial>
#include <QSlider> //滑动条头文件
#include <QScrollBar> //滚动条头文件
//常用输出头文件
#include <QLabel> //标签头文件
#include <QLCDNumber> //类似数码管效果 头文件
#include <QProgressBar> //进度条 头文件
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
//input 输入对象 进行输入空间的一些说明
QLineEdit *le;
QTextEdit *te;
QComboBox *cb;
QTimeEdit *timee;
QDial *dl;
QSlider *sd;
QScrollBar *sb;
//output 输出对象 进行输出空间的一些说明
QLabel *lb,*lb1;
QLCDNumber *lcd;
QProgressBar *pgb;
};
#endif // WIDGET_H
3.添加widget.cpp内容
#include "widget.h"
#include <QVBoxLayout> //垂直布局头文件
#include <QHBoxLayout> //水平布局头文件
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
//input
le = new QLineEdit(this);
te = new QTextEdit;
cb = new QComboBox;
cb->addItem("read "); //向选择文本框中添加东西
cb->addItem("write");
timee = new QTimeEdit ;
dl = new QDial;
sd = new QSlider;
sd->setOrientation(Qt::Horizontal); // 设置setOrientation 设置对齐方式 成水平的对齐
sb = new QScrollBar;
sb->setOrientation(Qt::Horizontal); //也设置成水平对齐
QVBoxLayout *vbox = new QVBoxLayout; //所有的输入框设置垂直布局
vbox->addWidget(le);
vbox->addWidget(te);
vbox->addWidget(cb);
vbox->addWidget(timee);
vbox->addWidget(dl);
vbox->addWidget(sd);
vbox->addWidget(sb);
//output
lb = new QLabel("hello 111!"); //输出一些文字
lb1 = new QLabel;
QPixmap pix("1.png"); //定义一个照片的对象 把照片名字传到pix
//**照片放到影子目录下 build-input_out-Desktop_Qt_5_6_1_MinGW_32bit-Debug 影子目录运行后自动生成
lb1->setFixedSize(80,80); //设置大小值setFixedSize 长,宽
lb1->setScaledContents(true); //照片自适应
lb1->setPixmap(pix); //设置照片 显示照片
lcd = new QLCDNumber;
pgb = new QProgressBar;
QVBoxLayout *vbox1 = new QVBoxLayout; //所有的输出框设置垂直布局1
vbox1->addWidget(lb);
vbox1->addWidget(lb1);
vbox1->addWidget(lcd);
vbox1->addWidget(pgb);
//设置整体的布局 大的水平布局
QHBoxLayout *hbox = new QHBoxLayout;
hbox->addLayout(vbox); //addLayout 将布局加进去 布局组织布局
hbox->addLayout(vbox1);
this->setLayout(hbox); //设置大的布局
//用信号与槽实现让圈动起来与数码管连接起来
connect(dl,SIGNAL(valueChanged(int)),lcd,SLOT(display(int)));
//圈动的同时与进度条联系在一起
connect(dl,SIGNAL(valueChanged(int)),pgb,SLOT(setValue(int)));
connect(dl,SIGNAL(valueChanged(int)),sd,SLOT(setValue(int)));
//将圆圈转动与滑动条联系起来
connect(sd,SIGNAL(valueChanged(int)),dl,SLOT(setValue(int)));
//将滑动条与圆圈联系起来
}
Widget::~Widget()
{
}
4.ctrl+r 运行
四、总结
1.使用信号与槽让输出控件和输出控件连接起来。
2.如果要加载照片,需将照片存在相应文件名的影子目录下。
3.先提前构思模板图,再去编写,多种控件配合使用,完成需求。