常用控件
//设置位子和大小
ui->pushButton->setGeometry(QRect(QPoint(100,100),QSize(200,50)));
ui->pushButton->setGeometry(100,100,50,50);
int bw = ui->pushButton->width(); //得到button的宽度
int bh = ui->pushButton->height(); //得到button的高度
ui->pushButton->resize(100,100); //改变大小
ui->pushButton->hide(); //隐藏
ui->pushButton->setEnabled(false); //按键使能
ui->pushButton->setCheckable(true); //按钮可以按下,按下不弹起。
ui->pushButton->setChecked(true); //设置按钮已经按下。
ui->pushButton->setFlat(true); //设置按钮为突出,按下则为平底。
ui->pushButton->setText("ok"); //在pushbutton设置文字
ui->pushButon->setlcon(Qlcon("../")); //贴图片 默认在button的最左边
Qlcon icon(":new/image/3d.ico");
ui->pushButton->setlcon(icon);
ui->pushButton->setlconSize(QSize(30,30)); //图片大小
QPalette pal; //设置botton的字体颜色。
pal.setColor(QPalette::ButtonText, QColor(255,0,0));
ui->pushButton->setPalette(pal);
1.1 QLable
label->setPixmap(QPixmap("../image/"));
ui->label->setScaledContents(true);//适应大小
//动画
QMovie *move = QMovie("../");
label->setMovie(move);
move->start();
QString strL = ui->label->text();
ui->label->setText("hello wrold");
ui->label->resize(200,100); //设置label大小
QPalette p;
p.setColor(QPalette::Window,Qt::yellow);
this->label->setPalette(p);
this->label->setAutoFillBackground(true); //是否自动填充
//label 样式(CSS 样式表)
//font-size 字号
//color 字体颜色
//font-weight 字宽
//font-style 字体样式
label->setStyleSheet("font-size:20px;color:red;font-weight:bold;fontstyle:italic");
1.2 QLineEdit单行文本
//样式
//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);//限制输入12位
lineEdit->setMaxLength(12);
// 新建验证器,指定范围为100-999
QValidator *validator = new QIntValidator(100, 999, this);
// 在行编辑器中使用验证器
ui->lineEdit3->setValidator(validator);
// 新建自动完成器 // 设置大小写不敏感
QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
ui->lineEdit4->setCompleter(completer);
// 让lineEdit3获得光标 m
ui->lineEdit3->setFocus();
1.3 QTextEdit多行文本
setText() //设置textEdit的内容
append() //换行追加内容
toPlainText () //返回TextEdit的text内容
1.4 QPlainTextEdit多行文本
//添加内容
plainTextEdit->setPlainText("第一行");
1.5 QComboBox下拉列表框
//定义字符串列表
QStringList str;
str << "数学" << "语文" << "地理";
//将字符串列表绑定QComboBox 控件
comboBox->addItems(str);
1.6 QCheckBox复选框
//控件值
checkBox01->setText("数学");
checkBox02->setText("语文");
checkBox03->setText("地理");
//判断是否被选中
if(sender() == checkBox01)
if(checkBox01->checkState() == Qt::Checked)
1.7 QGroupBox控件
//标题
box->setTitle("语音栏目");
//实例按钮
button = new QPushButton();
button->setText("按钮");
//实例布局
vbox = new QVBoxLayout;
//将按钮加入布局
vbox->addWidget(button);
//将布局加入QGroupBox 控件
box->setLayout(vbox);
1.8 QFontComboBox字体下拉列表框
QFontComboBox字体下拉列表框
fontComboBox->currentText();
1.9 QSpinBox控件
//值范围
spinBox->setRange(0,200);
//初始值
spinBox->setValue(10);
//后缀
spinBox->setSuffix("元");
//前缀
spinBox->setPrefix("$");
2.0 QSpinBox控件
//获取系统时间
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()));
2.1 QDateEdit日期控件
//获取系统时间
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()));
//横显/竖显
scrollBar->setOrientation(Qt::Horizontal);
//控制条宽度
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);
2.3 QListView列表控件
QStringList strList;
strList << "数学" << "语文" << "外语" <<"地理";
//添加数据
model = new QStringListModel(strList);
//将数据绑定listView 控件
listView-> setModel (model);
2.4 QTreeView树控件
// data->mode->view装载数据
model = new QStandardItemModel(3,2);
//列名称
model-> setHeaderData (0,Qt::Horizontal,"第一列");
model-> setHeaderData (1,Qt::Horizontal,"第二列");
//定义节点
QStandardItem *item1 = new QStandardItem("数学");
item1->setIcon(QIcon(":/new/prefix1/folder"));
QStandardItem *item2 = new QStandardItem("语文");
item2->setIcon(QIcon(":/new/prefix1/folder"));
//将节点添加至QStandardItemModel
model->setItem(0,0,item1);
model->setItem(1,0,item2);
//将QStandardItemModel 数据绑定QTreeView 控件
treeView->setModel(model);
2.5 QTableView表格控件
// data->mode->view装载数据
model = new QStandardItemModel();
//定义列
model->setHorizontalHeaderItem(0,new QStandardItem("数学"));
model->setHorizontalHeaderItem(1,new QStandardItem("语文"));
model->setHorizontalHeaderItem(2,new QStandardItem("外语"));
//行数据0行,0列
model->setItem(0,0,new QStandardItem("数学A"));
model->setItem(0,1,new QStandardItem("语文A"));
model->setItem(0,2,new QStandardItem("外语A"));
model->setItem(1,0,new QStandardItem("数学B"));
model->setItem(1,1,new QStandardItem("语文B"));
model->setItem(1,2,new QStandardItem("外语B"));
//将数据模型绑定控件
tableView-> setModel(model);
//实例时间控件
calendarWidget = new QCalendarWidget(this);
//位置
calendarWidget->setGeometry(20,75,350,180);
//隐藏时间控件
calendarWidget->setHidden(true);
//时间控件点击事件
connect(calendarWidget,SIGNAL(clicked(QDate)),this,SLOT(setData()));
void MainWindow::setData()
{
//接收选择时间
QDate date = calendarWidget->selectedDate();
//时间格式化
QString str = date.toString("yyyy-MM-dd");
//赋值
lineEdit->setText(str);
//日期控件隐藏
calendarWidget->setHidden(true);
}