qt窗口设置

Posted by 肥仔 on August 26, 2020

qt窗口设置

QMainWindow

  • 菜单栏 最多有一个
    • QMenuBar * bar = MenuBar();
    • setMenuBar( bar )
    • QMenu * fileMenu = bar -> addMenu(“文件”) 创建菜单
    • QAction * newAction = fileMenu ->addAction(“新建”);创建菜单项
    • 添加分割线 fileMenu->addSeparator();
  • 工具栏 可以有多个
    • QToolBar * toolbar = new QToolBar(this);
    • addToolBar( 默认停靠区域, toolbar ); Qt::LeftToolBarArea
    • 设置 后期停靠区域,设置浮动,设置移动
    • 添加菜单项 或者添加 小控件
  • 状态栏 最多一个
    • QStatusBar * stBar = statusBar();
    • 设置到窗口中 setStatusBar(stBar);
    • stBar->addWidget(label);放左侧信息
    • stBar->addPermanentWidget(label2); 放右侧信息
  • 铆接部件 浮动窗口 可以多个
    • QDockWidget
    • addDockWidget( 默认停靠区域,浮动窗口指针)
    • 设置后期停靠区域
  • 设置核心部件 只能一个
    • setCentralWidget(edit);

      资源文件

  • 将图片文件 拷贝到项目位置下
  • 右键项目->添加新文件 –> Qt - > Qt recourse File - >给资源文件起名
  • res 生成 res.qrc
  • open in editor 编辑资源
  • 添加前缀 添加文件
  • 使用 “ : + 前缀名 + 文件名 ”

    对话框

  • 分类 :
  • 模态对话框 不可以对其他窗口进行操作 阻塞
    • QDialog dlg(this)
    • dlg.exec();
  • 非模态对话框 可以对其他窗口进行操作
  • 防止一闪而过 创建到堆区
    • QDialog * dlg = new QDialog(this)
    • dlg->show();
    • dlg2->setAttribute(Qt::WA_DeleteOnClose); //55号 属性
  • 标准对话框 – 消息对话框
    • QMessageBox 静态成员函数 创建对话框
    • 错误、信息、提问、警告
    • 参数1 父亲 参数2 标题 参数3 显示内容 参数4 按键类型 参数5 默认关联回车按键
    • 返回值 也是StandardButton类型,利用返回值判断用户的输入
  • 其他标准对话框
  • 颜色对话框 QColorDialog::getColor
  • 文件对话框 QFileDialog::getOpenFileName(父亲,标题,默认路径,过滤文件)
  • 字体对话框 QFontDialog::getFont

界面布局

  • 实现登陆窗口
  • 利用布局方式 给窗口进行美化
  • 选取 widget 进行布局 ,水平布局、垂直布局、栅格布局
  • 给用户名、密码、登陆、退出按钮进行布局
  • 默认窗口和控件之间 有9间隙,可以调整 layoutLeftMargin
  • 利用弹簧进行布局
  • 控件

  • 按钮组
    • QPushButton 常用按钮
    • QToolButton 工具按钮 用于显示图片,如图想显示文字,修改风格:toolButtonStyle , 凸起风格autoRaise
    • radioButton 单选按钮,设置默认 ui->rBtnMan->setChecked(true);
    • checkbox多选按钮,监听状态,2 选中 1 半选 0 未选中
  • QListWidget 列表容器
    • QListWidgetItem * item 一行内容
    • ui->listWidget ->addItem ( item )
    • 设置居中方式item->setTextAlignment(Qt::AlignHCenter);
    • 可以利用addItems一次性添加整个诗内容
  • QTreeWidget 树控件
  • 设置头
  • ui->treeWidget->setHeaderLabels(QStringList()« “英雄”« “英雄介绍”);
    • 创建根节点

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

  • 添加根节点 到 树控件上

    ui->treeWidget->addTopLevelItem(liItem);

  • 添加子节点

    liItem->addChild(l1);

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

其他控件介绍

  • stackedWidget 栈控件
    1
    
    ui->stackedWidget->setCurrentIndex(1);
    
  • 下拉框

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

  • QLabel 显示图片
    1
    
    ui->lbl_Image->setPixmap(QPixmap(":/Image/butterfly.png"))
    
  • QLabel显示动图 gif图片

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