QT::控件类

常用控件

1.0 QPushButton

//设置位子和大小
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()));

2.2 QScrollBar控件

//横显/竖显 
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);

2.6 QCalendarWidget 日历控件

//实例时间控件 
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); 
}
posted @ 2021-01-28 22:32  osbreak  阅读(95)  评论(0编辑  收藏  举报