QT-第二天

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 分类 :

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

  • QDialog dlg(this)
  • dlg.exec();

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

  • 防止一闪而过 创建到堆区
  • 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);
  • QStringList list; 多行内容
    利用addItems一次性添加整个诗内容

5.3 QTreeWidget 树控件

  • 设置头
    ui->treeWidget->setHeaderLabels(QStringList()<< “英雄”<< “英雄介绍”);
  • 创建根节点(QTreeWidgetItem类)
    QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< “力量”);
  • 添加根节点 到 树控件上
    ui->treeWidget->addTopLevelItem(liItem);
  • 添加子节点(QStringList类)
    liItem->addChild(l1);

5.4 QTableWidget 表格控件

  • 设置列数
    ui->tableWidget->setColumnCount(3);
  • 设置水平表头
    -ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<“姓名”<< “性别”<< “年龄”);
  • 设置行数
    ui->tableWidget->setRowCount(5);
  • 设置正文
    ui->tableWidget->setItem(0,0, new QTableWidgetItem(“亚瑟”));

5.5 其他控件介绍

  • stackedWidget 栈控件
    ui->stackedWidget->setCurrentIndex(1);
  • 下拉框
    ui->comboBox->addItem(“奔驰”);
  • QLabel 显示图片
    ui->lbl_Image->setPixmap(QPixmap(":/Image/butterfly.png"))
  • QLabel显示动图 gif图片
    ui->lbl_movie->setMovie(movie);
    movie->start();

到此总结:

  • QT界面就是“类之间的继承,对象属性的调整,界面布局调整”,控件添加功能就是修改空间类的成员函数
  • 文档查询是个好方法。
  • 常用字符串类型:
    QString == string == char *;
    QStringList == QList< QString > == list< string >(C++容器);
    给对象传字符时一般都转化为它自己的字符类型
  • 感觉常用控件都是调调自己属性或在代码里调调成员函数;container里的框架都是为了协助小控件界面布局的,对每个控件操作之间操作对象,不用管框架。
  • 一般写界面都是使用QMainWindow类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值