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");
7 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);
8 QTextEdit 多行文本
运行效果
运行代码:
头文件:
#include <QTextEdit>
private: QTextEdit *textEdit;
源文件:
//实例 QTextEdit 控件 textEdit = new QTextEdit(this); //控件位置大小 textEdit->setGeometry(QRect(50,50,200,150)); //内容 textEdit->setText("我是第一行<br/>我是第二行");
9 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("女"); } }