基本组件
QMenuBar * bar = menuBar():菜单
setMenuBar(bar) 设置菜单到窗口中
filemenu->addSeparator(); //添加分割线
QMenu * file = bar->addMenu(“文件”); //添加文件到菜单栏
QAction * newfile = filemenu->addAction("New File"); //添加子选项
QToolBar * tool = ui->mainToolBar; //工具栏
// addToolBar(tool); //添加工具栏
tool->setAllowedAreas(Qt::LeftToolBarArea);//设置停靠方式
tool->setFloatable(false); //设置是否悬浮
tool->setMovable(false); 设置是否移动
QPushButton *but = new QPushButton();
tool->addWidget(but); 添加按钮
tool->addSeparator(); 添加分割线
tool->addAction(openfile); 添加子菜单
QStatusBar * status = ui->statusBar; 状态栏
// setStatusBar(status); 设置状态栏
QLabel * lab = new QLabel("this is status:"); 标签
status->addWidget(lab); 标签添加在状态栏左边
QLabel * lab2 = new QLabel("wo shi hao ren!"); 标签
status->addPermanentWidget(lab2); 标签添加在状态栏右边
QDockWidget * dock = new QDockWidget("DockWindow",this); 创建铆接部件
addDockWidget(Qt::TopDockWidgetArea,dock); 添加到窗口
dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea); 设置停靠
QTextEdit * edit = new QTextEdit(this); 创建文本编辑器 核心部件
setCentralWidget(edit); 设置核心部件到当前窗口
资源文件:
新建qt文件夹 Recourse文件夹 ,添加前缀。添加文件
资源访问路径 “: + 前缀名 + 文件名”
模态和非模态
模态对话框,必须对对话框进行操作,不允许越过
非模态对话框,允许越过对话框,对其他组件进行操作。
QDialog * log = new QDialog(this); 创建一个对话框
log->setWindowTitle("tishi"); 设置名字
log->exec(); 模态显示 阻塞当前
log->show(); 非模态显示 由于分配到堆上,一直创建会崩坏程序
log->setAttribute(Qt::WA_DeleteOnClose); 设置属性,关闭时释放
常用对话框:QColorDialog QfileDialog QfontDialog QinputDialog Qmessagebox QPageSetupDialog(为打印机提供纸张相关选项)QPrintDialog(打印机配置)QPrintPreviewDialog(打印预览) QProgressDialog(显示操作过程)。
QMessageBox::critical(this,"Error","this is Message!!!"); 产生一个提示对话框
QMessageBox::information(this,"info","this is messagebox"); 信息对话框
if (QMessageBox::Save == QMessageBox::question(this,"problem","this is a 选择对话框,用if语句判断返回值 message?",QMessageBox::Cancel|QMessageBox::Save,QMessageBox::Save)){
QMessageBox::warning(this,"error","creat a warn!"); 警告对话框
QFileDialog::getOpenFileName(this,"wd-file","/home/wandong","(*.jpg)") 打开一个文件,设置父窗口,标题,默认路径,文件类型
QFont font = QFontDialog::getFont(&you,QFont("Noto Sans CJK SC"),this,"select_font"); 获取字体 是否获取 默认字体 父窗口 窗口标题
QColorDialog::getColor(Qt::white,this,"wd-color"); 获取颜色 默认颜色 父窗口 窗口标题
设置窗体背景颜色:
QPixmap pixmap = QPixmap(":/textures/yaowei.jpg").scaled(this->size());
QPalette palette(this->palette());
palette.setBrush(QPalette::Background, QBrush(pixmap));
this->setPalette(palette);
常用控件:
toolbutton 设置图片 在text icon中 最下面独有类中设置效果
radiobutton 单选框,用groubbox添加组,不同组相互独立
checkbutton 复选,状态0未选中 状态1 半选中 状态2全选中 在最下面调整选中状态
QListWidget 显示文字组
每个子项显示为 QListWidgetItem * item1 = new QListWidgetItem("I`m a good eople!",ui->text);
一次性加入 多个:ui->text->addItems(list);
qtreewidget 树组件
设置头 ui->treeWidget->setHeaderLabels(QStringList()<< "name" << "passwd");
设置一级节点 QTreeWidgetItem * tre1 = new QTreeWidgetItem(ui->treeWidget,QStringList()<<"wangodng");
设置二级节点 QTreeWidgetItem * wdface = new QTreeWidgetItem(tre1,QStringList()<<"face"<<"this is a cool child");
qtablewidget 列表组件
ui->table->setColumnCount(3); 设置多少列
ui->table->setHorizontalHeaderLabels(QStringList()<<"name"<<"age"<<"xingbie"); 设置水平列名
ui->table->setRowCount(5); 设置行数
ui->table->setItem(0,0,new QTableWidgetItem("wd")); 设置某个单元格内容
QStringList name;
name<<"wangdong "<<"fuda"<<"yahui"<<"jiandong"<<"huge"; 整体设置单元格内容
for(int i = 0;i<name.count();i++){
ui->table->setItem(i,0,new QTableWidgetItem(name[i]));
}
QString::number(18+i) int 转 string
ui->stackedWidget_2->setCurrentIndex(2); 设置栈控件
ui->comboBox->addItems(QStringList()<<"benchi"<<"baoma"<<"dazhong"); 设置下拉框
QMovie * gif = new QMovie(":/textures/tbs.gif"); 利用lable显示动图
ui->label_image->setMovie(gif);
gif->start();