QT学习2

1.QMainWindow

1.1 菜单栏 最多有一个

==QMenuBar * bar = MenuBar();==

==setMenuBar( bar )==

==QMenu * fileMenu = bar -> addMenu(“文件”) 创建菜单==

==QAction * newAction = fileMenu ->addAction(“新建”); 创建菜单项==

==添加分割线 fileMenu->addSeparator();==

1.2 工具栏 可以有多个

==QToolBar * toolbar = new QToolBar(this);==

==addToolBar( 默认停靠区域, toolbar ); Qt::LeftToolBarArea==

==设置 后期停靠区域,设置浮动,设置移动==

==添加菜单项 或者添加 小控件==

1.3 状态栏 最多一个

==QStatusBar * stBar = statusBar();==

==设置到窗口中 setStatusBar(stBar);==

==stBar->addWidget(label);放左侧信息==

==stBar->addPermanentWidget(label2); 放右侧信息==

1.4 铆接部件 浮动窗口 可以多个

==QDockWidget==

==addDockWidget( 默认停靠区域,浮动窗口指针)==

==设置后期停靠区域==

1.5 设置核心部件 只能一个

==setCentralWidget(edit);==

2. 资源文件

==将图片文件 拷贝到项目位置下==

==右键项目->添加新文件 –> Qt - > Qt recourse File - >给资源文件起名==

==res 生成 res.qrc==

==open in editor 编辑资源==

==添加前缀 添加文件==

==使用 “ : + 前缀名 + 文件名 ”==

3. 对话框

3.1 分类 :

3.1.1 模态对话框 不可以对其他窗口进行操作 阻塞

==QDialog dlg(this)==

==dlg.exec();==

3.1.2 非模态对话框 可以对其他窗口进行操作

==防止一闪而过 创建到堆区==

==QDialog * dlg = new QDialog(this)==

==dlg->show();==

==dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号 属性==

3.2 标准对话框 – 消息对话框

==QMessageBox 静态成员函数 创建对话框==

==错误、信息、提问、警告==

==参数1 父亲 参数2 标题 参数3 显示内容 参数4 按键类型 参数5 默认关联回车按键==

==返回值 也是StandardButton类型,利用返回值判断用户的输入==

3.3 其他标准对话框

==颜色对话框 QColorDialog::getColor==

==文件对话框 QFileDialog::getOpenFileName(父亲,标题,默认路径,过滤文件)==

==字体对话框 QFontDialog::getFont==

4. 界面布局

==实现登陆窗口==

==利用布局方式 给窗口进行美化==

==选取 widget 进行布局 ,水平布局、垂直布局、栅格布局==

==给用户名、密码、登陆、退出按钮进行布局==

==默认窗口和控件之间 有9间隙,可以调整 layoutLeftMargin==

==利用弹簧进行布局==

5. 控件

5.1 按钮组

==QPushButton 常用按钮==

==QToolButton 工具按钮 用于显示图片,如图想显示文字,修改风格:toolButtonStyle , 凸起风格autoRaise==

==radioButton 单选按钮,设置默认 ui->rBtnMan->setChecked(true);==

==checkbox多选按钮,监听状态,2 选中 1 半选 0 未选中==

5.2 QListWidget 列表容器

==QListWidgetItem * item 一行内容==

==ui->listWidget ->addItem ( item )==

==设置居中方式item->setTextAlignment(Qt::AlignHCenter);==

==可以利用addItems一次性添加整个诗内容==

5.3 QTreeWidget 树控件

5.3.1 设置头

==ui->treeWidget->setHeaderLabels(QStringList()<< “英雄”<< “英雄介绍”);==

5.3.2 创建根节点

==QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< “力量”);==

5.3.3 添加根节点 到 树控件上

==ui->treeWidget->addTopLevelItem(liItem);==

5.3.4 添加子节点

==liItem->addChild(l1);==

5.4 QTableWidget 表格控件

5.4.1 设置列数

==ui->tableWidget->setColumnCount(3);==

5.4.2 设置水平表头

==ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<”姓名”<< “性别”<< “年龄”);==

5.4.3 设置行数

==ui->tableWidget->setRowCount(5);==

5.4.4 设置正文

==ui->tableWidget->setItem(0,0, new QTableWidgetItem(“亚瑟”));==

5.5 其他控件介绍

5.5.1 stackedWidget 栈控件

==ui->stackedWidget->setCurrentIndex(1);==

5.5.2 下拉框

==ui->comboBox->addItem(“奔驰”);==

5.5.3 QLabel 显示图片

==ui->lbl_Image->setPixmap(QPixmap(“:/Image/butterfly.png”))==

5.5.4 QLabel显示动图 gif图片

==ui->lbl_movie->setMovie(movie);==

==movie->start();==