Qt5 常用控件的熟悉

Qt5.9+VS2017

效果图:

部分代码:

#include "QtGuiApplication1.h"

#include <QLabel>     // disply static text, or image
#include <QPushButton>
#include <QLineEdit> // single line

#include <QComboBox>
#include <QCheckBox>
#include <QRadioButton>
#include <QTextEdit> // multi lines, rich text
#include <QTextBrowser> // readonly textedit
#include <QGroupBox>  //
#include <QSlider>    // 模拟方式显示数值
#include <QSpinBox>  // 数字
#include <QDateEdit>
#include <QTimeEdit>
#include <QDateTimeEdit>
#include <QTabWidget> // 不介绍,不算控件
#include <QCompleter>
#include <QHBoxLayout>
#include <QDebug>
#include <QPixmap>
#include  <QVBoxLayout>


QtGuiApplication1::QtGuiApplication1(QWidget *parent)
	: QWidget(parent)
{
	QVBoxLayout *lay = new QVBoxLayout(this);
	QLabel *label = new QLabel("<a href=www.baidu.com>baidu</a>");
	QPushButton *button = new QPushButton("Button");
	QRadioButton *radio = new QRadioButton("Radio");
	QCheckBox *check = new QCheckBox("check box");
	QComboBox *combo = new QComboBox();
	QTextEdit *edit = new QTextEdit();
	QGroupBox *groupbox = new QGroupBox("some items");

	lay->addWidget(label);

	connect(label, &QLabel::linkActivated, [](QString str) {
	
		qDebug() << str;
	});
	lay->addWidget(button);
	lay->addWidget(radio);
	connect(radio, &QRadioButton::clicked, [](bool val) {
		qDebug() << val;
	
	});
	lay->addWidget(check);
	connect(check, &QCheckBox::clicked, [](bool val) {
		qDebug() << val;
	});
	lay->addWidget(combo);
	combo->addItem("Select item1");
	combo->addItem("Select item2");
	combo->setEditable(true);
	
	lay->addWidget(edit);
	//垂直滚动条
	edit->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
	//水平滚动条
	edit->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);


	lay->addWidget(groupbox);


	QHBoxLayout *hBoxlay = new QHBoxLayout();

	groupbox->setLayout(hBoxlay);
	hBoxlay->addWidget(new QPushButton("aaa"));
	hBoxlay->addWidget(new QPushButton("bbb"));
	
	QSlider *slider;
	QSpinBox *spinbox;

	lay->addWidget(slider = new QSlider(Qt::Horizontal));
	slider->setMaximum(100);
	slider->setMinimum(0);
	//connect(slider, &QSlider::valueChanged, [](int val) {
	//	qDebug() << val;
	//});
	lay->addWidget(spinbox = new QSpinBox);
	spinbox->setMaximum(100);
	spinbox->setMinimum(0);

	connect(slider, &QSlider::valueChanged, spinbox, &QSpinBox::setValue);

	//信号函数有重载,使用函数指针
	//connect(spinbox, &QSpinBox::valueChanged, slider, &QSlider::setValue);
	//void (QSpinBox:: *valueChanged_int)(int) = &QSpinBox::valueChanged;
	//connect(spinbox, valueChanged_int, slider, &QSlider::setValue);
	connect(spinbox, 
		static_cast<void (QSpinBox:: *)(int)> (&QSpinBox::valueChanged),
		slider,
		&QSlider::setValue);
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值