2.QLabel,QPushButton,QLineEdit,QComboBox,QCheckBox,QRadioButton,QTextEdit,QTextBrowser,QGroupBox,QSl
2014-12-12 19:34
597 查看
1.新建一个空项目(其它项目—>空QT项目):
2
添加新文件(选择C++Class)
MyWidget.h
05Controls.pro文件的内容
MyWidget.cpp
#include
"MyWidget.h"
#include
<QApplication>
#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>
#include
<QLCDNumber>
MyWidget::MyWidget(QWidget
*parent)
:
QWidget(parent)
{
QVBoxLayout*
lay
=
new
QVBoxLayout(this);
QLabel*
label;
QComboBox*
combo;
QPushButton*
button;
QRadioButton*
radio;
QTextEdit*
edit;
QGroupBox*
group;
//说明可以通过编写样式的方式修改GUI中字体的样式
lay->addWidget(label
=
new
QLabel("<a
href=www.baidu.com>百度</a>"));
//通过下面一句在lable上添加一个图片,当加了下面一句之后,上面的baidu字就会被覆盖
//label->setPixmap(QPixmap("../aaa.png"));
//当选中了lable之后会,输出字符串
connect(label,
&QLabel::linkActivated,
[](QString
str){
qDebug()
<<
str;
});
lay->addWidget(button
=
new
QPushButton("Button"));
//为button添加样式
button->setStyleSheet("QPushButton
{font:bold
16px;
color:red;
padding:5px}");
lay->addWidget(radio
=
new
QRadioButton("Radio"));
radio->setStyleSheet("QRadioButton
{font:bold
16px;
color:red;
padding:5px}");
//为单选按钮添加事件,true或者false
connect(radio,
&QRadioButton::clicked,
[](bool
v){
qDebug()
<<
v;
});
lay->addWidget(new
QCheckBox("check
box"));
//添加下拉选
lay->addWidget(combo
=
new
QComboBox());
combo->addItem("Select
item1");
combo->addItem("Select
item2");
//设置下拉选可以被编辑
combo->setEditable(true);
//当下拉选selectChanged之后,用信号槽进行处理
connect(combo,
SIGNAL(currentIndexChanged(QString)),
this,
SLOT(slotComboBoxIndexChanged(QString)));
combo->setCompleter(new
QCompleter(combo->model()));
//说明多行文本框之中可以使用html标签页面
lay->addWidget(edit
=
new
QTextEdit);
edit->setText("<table
border=1><tr><th>head1</th><th>head2</th></tr>"
"<tr><td>value1</td><td>value2</td></tr>"
"<tr><td>value3</td><td>value4</td></tr>"
"</table><br>"
"<img
src=../aaa.png></img>");
_edit
=
edit;
connect(edit,
&QTextEdit::textChanged,
[&](){
//
QTextEdit*
edit
=
(QTextEdit*)this->sender();
qDebug()
<<
_edit->toPlainText();
});
//设置竖直方向上有水平滚动条
edit->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
//设置水平方向上没有滚动条
edit->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
lay->addWidget(group
=
new
QGroupBox("Some
items"));
QHBoxLayout*
hBoxLay;
group->setLayout(hBoxLay
=
new
QHBoxLayout);
hBoxLay->addWidget(new
QPushButton("aaaa"));
hBoxLay->addWidget(new
QPushButton("aaaa"));
QSlider*
slider;
QSpinBox*
spinBox;
lay->addWidget(slider
=
new
QSlider(Qt::Horizontal));
slider->setMaximum(100);
slider->setMinimum(0);
lay->addWidget(spinBox
=
new
QSpinBox);
spinBox->setMaximum(100);
spinBox->setMinimum(0);
connect(slider,
SIGNAL(valueChanged(int)),
spinBox,
SLOT(setValue(int)));
connect(spinBox,
SIGNAL(valueChanged(int)),
slider,
SLOT(setValue(int)));
lay->addWidget(new
QDateTimeEdit);
//设置LCD样式的显示状态
QLCDNumber*
lcd;
lay->addWidget(lcd
=
new
QLCDNumber(10));
lcd->display(12345);
lcd->setMode(QLCDNumber::Hex);
lcd->setSegmentStyle(QLCDNumber::Outline);
}
void
MyWidget::slotComboBoxIndexChanged(const
QString
&str)
{
qDebug()
<<
"slotComboBoxIndexChanged"
<<
str;
}
int
main(int
argc,
char**
argv)
{
QApplication
app(argc,
argv);
MyWidget
w;
w.show();
return
app.exec();
}
运行结果:
1.新建一个空项目(其它项目—>空QT项目):
2
添加新文件(选择C++Class)
MyWidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QTextEdit>
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
QTextEdit* _edit;
signals:
public slots:
void slotComboBoxIndexChanged(const QString&);
};
#endif // MYWIDGET_H
05Controls.pro文件的内容
HEADERS += \
MyWidget.h
SOURCES += \
MyWidget.cpp
QT += widgets gui
CONFIG += C++11
MyWidget.cpp
#include
"MyWidget.h"
#include
<QApplication>
#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>
#include
<QLCDNumber>
MyWidget::MyWidget(QWidget
*parent)
:
QWidget(parent)
{
QVBoxLayout*
lay
=
new
QVBoxLayout(this);
QLabel*
label;
QComboBox*
combo;
QPushButton*
button;
QRadioButton*
radio;
QTextEdit*
edit;
QGroupBox*
group;
//说明可以通过编写样式的方式修改GUI中字体的样式
lay->addWidget(label
=
new
QLabel("<a
href=www.baidu.com>百度</a>"));
//通过下面一句在lable上添加一个图片,当加了下面一句之后,上面的baidu字就会被覆盖
//label->setPixmap(QPixmap("../aaa.png"));
//当选中了lable之后会,输出字符串
connect(label,
&QLabel::linkActivated,
[](QString
str){
qDebug()
<<
str;
});
lay->addWidget(button
=
new
QPushButton("Button"));
//为button添加样式
button->setStyleSheet("QPushButton
{font:bold
16px;
color:red;
padding:5px}");
lay->addWidget(radio
=
new
QRadioButton("Radio"));
radio->setStyleSheet("QRadioButton
{font:bold
16px;
color:red;
padding:5px}");
//为单选按钮添加事件,true或者false
connect(radio,
&QRadioButton::clicked,
[](bool
v){
qDebug()
<<
v;
});
lay->addWidget(new
QCheckBox("check
box"));
//添加下拉选
lay->addWidget(combo
=
new
QComboBox());
combo->addItem("Select
item1");
combo->addItem("Select
item2");
//设置下拉选可以被编辑
combo->setEditable(true);
//当下拉选selectChanged之后,用信号槽进行处理
connect(combo,
SIGNAL(currentIndexChanged(QString)),
this,
SLOT(slotComboBoxIndexChanged(QString)));
combo->setCompleter(new
QCompleter(combo->model()));
//说明多行文本框之中可以使用html标签页面
lay->addWidget(edit
=
new
QTextEdit);
edit->setText("<table
border=1><tr><th>head1</th><th>head2</th></tr>"
"<tr><td>value1</td><td>value2</td></tr>"
"<tr><td>value3</td><td>value4</td></tr>"
"</table><br>"
"<img
src=../aaa.png></img>");
_edit
=
edit;
connect(edit,
&QTextEdit::textChanged,
[&](){
//
QTextEdit*
edit
=
(QTextEdit*)this->sender();
qDebug()
<<
_edit->toPlainText();
});
//设置竖直方向上有水平滚动条
edit->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
//设置水平方向上没有滚动条
edit->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
lay->addWidget(group
=
new
QGroupBox("Some
items"));
QHBoxLayout*
hBoxLay;
group->setLayout(hBoxLay
=
new
QHBoxLayout);
hBoxLay->addWidget(new
QPushButton("aaaa"));
hBoxLay->addWidget(new
QPushButton("aaaa"));
QSlider*
slider;
QSpinBox*
spinBox;
lay->addWidget(slider
=
new
QSlider(Qt::Horizontal));
slider->setMaximum(100);
slider->setMinimum(0);
lay->addWidget(spinBox
=
new
QSpinBox);
spinBox->setMaximum(100);
spinBox->setMinimum(0);
connect(slider,
SIGNAL(valueChanged(int)),
spinBox,
SLOT(setValue(int)));
connect(spinBox,
SIGNAL(valueChanged(int)),
slider,
SLOT(setValue(int)));
lay->addWidget(new
QDateTimeEdit);
//设置LCD样式的显示状态
QLCDNumber*
lcd;
lay->addWidget(lcd
=
new
QLCDNumber(10));
lcd->display(12345);
lcd->setMode(QLCDNumber::Hex);
lcd->setSegmentStyle(QLCDNumber::Outline);
}
void
MyWidget::slotComboBoxIndexChanged(const
QString
&str)
{
qDebug()
<<
"slotComboBoxIndexChanged"
<<
str;
}
int
main(int
argc,
char**
argv)
{
QApplication
app(argc,
argv);
MyWidget
w;
w.show();
return
app.exec();
}
运行结果:
相关文章推荐
- 2.QLabel,QPushButton,QLineEdit,QComboBox,QCheckBox,QRadioButton,QTextEdit,QTextBrowser,QGroupBox,QSl
- (转)android常用控件(二) RadioGroup RadioButton CheckBox Toast的使用
- RadioButton RadioGroup CheckBox
- RadioGroup and RadioButton CheckBox test
- 使用 IntraWeb (17) - 基本控件之 TIWRadioButton、TIWRadioGroup、TIWCheckBox
- QGroupBox添加QCheckBox和QLineEdit限制只能整数输入,QComboBox添加选项Item,QLineEdit密码形式.QWidget添加背景,
- CompoundButton(checkbox,switch,ToggleButton)和RadioGroup OnCheckedChangeListener() 引用冲突问题
- ExtJS4——Button/override/NumberField/Hidden/DateField/RadioGroup/CheckboxGroup/ComboBox
- 雾山的Anrdoid学习笔记---CheckBox,RadioGroup&RadioButton .
- 关于Button、RadioGroup、CheckBox三种不同的监听器
- Button、CheckBox、RadioGroup
- RadioButton和CheckBox的区别,RadioButton&RadioGroup
- Android入门(5)——多状态按钮ToggleButton、多选按钮CheckBox、RadioGroup与RadioButtont按钮
- Android学习指南之九:Button、TextView、EditView、CheckBox、RadioGroup、ImageView、ImageButton
- Android控件RadioButton&RadioGroup&CheckBox
- Android 用户界面 Button TextView EditView CheckBox RadioGroup ImageView ImageButton
- Android04--Android之CheckBox+RadioGroup+RadioButton
- [android]控件CheckBox/RadioGroup/RadioButton的常用属性---单复选控件
- RadioGroup,Radio单选按钮,CheckBox的使用
- Button的使用(七):RadioGroup、RadioButton