QT5 新手教程-中文版的代码实现以及仿真结果

1 控制窗口的大小

运行效果:

 运行代码:

    this->setWindowTitle("这是窗口");
    this->setMaximumSize(300,300);
    this->setMinimumSize(300,300);

 2 窗体初始位置及背景色

运行效果:

 运行代码:

    //默认窗体居中显示,如果想要更改用 move 或 setGeometry
    this->move(100,100);
    //背景红色
    this->setStyleSheet("background:red");

 3 去掉窗口右上角的关闭按钮

运行效果:

 运行代码:

//关闭按钮失效
    this->setWindowFlags(Qt::WindowMinMaxButtonsHint);

 4 去掉窗口右上角的最大化和最小化按钮;

运行效果:

运行代码: 

//去掉最大化、最小化按钮,保留关闭按钮
    this->setWindowFlags(Qt::WindowCloseButtonHint);

5 QPushButton按钮

运行效果:

----》点击按钮后

 运行代码:

.h头文件

#include <QPushButton>


private:
    Ui::MainWindow *ui;
    QPushButton *button;

private slots:
    void txtButton();

.cpp源文件

    //创建按钮
    button = new QPushButton("按钮 A",this);
    //定义按钮 X 轴,Y 轴,W 宽,H 高
    button->setGeometry(QRect(100,100,100,25));
    //给按钮添加插槽事件(点击事件)
    connect(button,SIGNAL(released()),this,SLOT(txtButton()));




//点击方法
void MainWindow::txtButton()
{
 //改变按钮文字
 button->setText("按钮 B");
}

6  QLabel标签

运行效果:

 运行代码:

头文件

#include <QLabel>
//声明 QLabel
private:
 QLabel *label;

源码

//实例 QLabel 控件
label = new QLabel("我是 QLabel",this);
//QLabel 位置
//label->move(100,100);
label->setGeometry(QRect(100,100,200,30));
//label 样式(CSS 样式表)
//font-size 字号
//color 字体颜色
//font-weight 字宽
//font-style 字体样式
 label->setStyleSheet("font-size:20px;color:red;font-weight:bold;fontstyle:italic");

QLineEdit 单行文本  

运行效果:

----》输入

运行代码:

头文件:

#include <QLineEdit>
//声明 QLineEdit 控件
private:
 QLineEdit *lineEdit;

源文件:

    //创建 QLineEdit 控件
    lineEdit = new QLineEdit(this);
    //位置大小
    lineEdit->setGeometry(QRect(100,100,200,25));
    //样式
    //border 边框线大小
    //border-style 边框样式 solid 实线
    //border-color:blue red 上下蓝色 左右红色
    lineEdit->setStyleSheet("border:1px;border-style:solid;color:red;border-color: blue red;");
    //限制最长输入 12 位
    lineEdit->setMaxLength(12);
    //不可写入
    //lineEdit->setEchoMode(QLineEdit::NoEcho);
    //密码*号输入
    lineEdit->setEchoMode(QLineEdit::Password);

QTextEdit 多行文本 

运行效果 

运行代码:

头文件:

#include <QTextEdit>
private:
 QTextEdit *textEdit;

源文件:

//实例 QTextEdit 控件
textEdit = new QTextEdit(this);
//控件位置大小
textEdit->setGeometry(QRect(50,50,200,150));
//内容
textEdit->setText("我是第一行<br/>我是第二行");

QPlainTextEdit 多行文本

运行效果: 

运行代码:

头文件

#include <QPlainTextEdit>
private:
 QPlainTextEdit *plainTextEdit;

源文件 

 //实例
    plainTextEdit = new QPlainTextEdit(this);
    //位置
    plainTextEdit->setGeometry(QRect(50,50,200,100));
    //添加内容
    plainTextEdit->setPlainText("第一行");

 10  QComboBox 下拉列表框

运行效果:

运行代码: 

头文件

#include <QComboBox>
private:
 QComboBox *comboBox;

源文件:

//实例 QComboBox
comboBox = new QComboBox(this);
//控件显示位置大小
comboBox->setGeometry(QRect(50,50,120,25));
//定义字符串列表
QStringList str;
str << "数学" << "语文" << "地理";
//将字符串列表绑定 QComboBox 控件
comboBox->addItems(str);

11 QFontComboBox 字体下拉列表框

运行效果: 

运行代码:

头文件:

#include <QFontComboBox>
#include <QPushButton>
#include <QLabel>
//实例控件
private:
 QFontComboBox *fontComboBox;
 QPushButton *button;
 QLabel *label;
//按钮点击方法
private slots:
 void txtButton();

源文件:

//实例 QFontComboBox
fontComboBox = new QFontComboBox(this);
//实例 QPushButton
button = new QPushButton(this);
//实例 QLabel
label = new QLabel(this);
label->setGeometry(QRect(50,150,300,25));
//按钮名
button->setText("按钮");
//位置
button->move(180,50);
//事件
connect(button,SIGNAL(released()),this,SLOT(txtButton()));
//QFontComboBox 控件位置
fontComboBox->setGeometry(QRect(50,50,120,25));
//方法
void MainWindow::txtButton()
{
 label->setText("选择字体:"+fontComboBox->currentText());
}

12 QSpinBox 控件 

运行效果: 

运行代码:

头文件:

#include <QSpinBox>
QSpinBox *spinBox;

源文件:

//实例 QSpinBox
    spinBox = new QSpinBox(this);
    //位置
    spinBox->setGeometry(QRect(50,50,100,25));
    //值范围
    spinBox->setRange(0,200);
    //初始值
    spinBox->setValue(10);
    //后缀
    spinBox->setSuffix("元");
    //前缀
    spinBox->setPrefix("$");

13 QTimeEdit 时间控件

 运行效果:

运行代码:

头文件:

#include <QTimeEdit>
private:
 QTimeEdit *timeEdit;

源文件:

#include <QDateTime>
//实例
    timeEdit = new QTimeEdit(this);
    //位置
    timeEdit->setGeometry(QRect(50,50,120,25));
    //获取系统时间
    QDateTime sysTime = QDateTime::currentDateTime();
    //获取时分秒以“:”号拆分赋予 list 数组
    QStringList list = sysTime.toString("hh:mm:ss").split(':');
    //将时分秒绑定控件
    timeEdit->setTime(QTime(list[0].toInt(),list[1].toInt(),list[2].toInt()));

14  QDateEdit 日期控件 

运行效果:

运行代码: 

头文件:

#include <QDateEdit>
private:
 QDateEdit *dateEdit;

源文件:

#include <QDateTime>
//实例
    dateEdit = new QDateEdit(this);
    //位置
    dateEdit->setGeometry(QRect(50,50,120,25));
    //获取系统时间
    QDateTime sysTime = QDateTime::currentDateTime();
    //获取时分秒以“-”号拆分赋予 list 数组
    QStringList list = sysTime.toString("yyyy-MM-dd").split('-');
    //将年月日绑定控件
    dateEdit->setDate(QDate(list[0].toInt(),list[1].toInt(),list[2].toInt()));

15  QScrollBar 控件

运行效果:

运行代码:

头文件:

 

#include <QScrollBar>
#include <QSpinBox>
private:
 QScrollBar *scrollBar;
 QSpinBox *spinBox;

源文件:

//实例
    scrollBar = new QScrollBar(this);
    spinBox = new QSpinBox(this);
    //横显/竖显
    scrollBar->setOrientation(Qt::Horizontal);
    //位置
    scrollBar->setGeometry(QRect(50,50,180,20));
    spinBox->setGeometry(QRect(50,90,100,25));
    //控制条宽度
    scrollBar->setPageStep(10);
    //scrollBar 事件
    connect(scrollBar,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));
    //spinBox 事件
    connect(spinBox,SIGNAL(valueChanged(int)),scrollBar,SLOT(setValue(int)));
    //初始值
    scrollBar->setValue(50);

16 QRadioButton 单选按钮 

运行效果: 

运行代码:

头文件:

#include <QRadioButton>
#include <QLabel>
private slots:
 void radioChange();
private:
 QRadioButton *radioM;
 QRadioButton *radioW;
 QLabel *label;

源文件:

//实例
    radioM = new QRadioButton(this);
    radioW = new QRadioButton(this);
    label = new QLabel(this);
    //位置
    radioM->setGeometry(QRect(50,50,50,50));
    radioW->setGeometry(QRect(100,50,50,50));
    label->setGeometry(QRect(50,100,100,25));
    radioM->setText("男");
    radioW->setText("女");
    //默认选择
    radioM->setChecked(true);
    label->setText("男");
    //事件
    connect(radioM,SIGNAL(clicked()),this,SLOT(radioChange()));
    connect(radioW,SIGNAL(clicked()),this,SLOT(radioChange()));
//Radio 点击方法
void MainWindow::radioChange()
{
 if(sender() == radioM)
 {
 label->setText("男");
 }else if(sender() == radioW)
 {
 label->setText("女");
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值