• 黑马QtDay2学习笔记:


    1 QMainWindow

    1.1 菜单栏 只能有一个

    1.1.1 QMenuBar* bar = menuBar() 创建

    1.1.2 setMenuBar(bar) ;设置到窗口中

    1.1.3 QMenu* menu = bar->addMenu(“文件”) 添加菜单

    1.1.4 QAction * newAction = menu->addAction(“新建”); 添加菜单项

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

    小测试
    #include "mainwindow.h"
    #include 
    #include 
    #include 
    #include 
    #include 
    #include 
    MainWindow::MainWindow(QWidget *parent)
        : QMainWindow(parent)
    {
    
        resize(600,400);
    
        //1、菜单栏 只能有一个
        QMenuBar * bar = menuBar();
        setMenuBar(bar);
    
        //创建菜单
        QMenu * fileMenu = bar->addMenu("文件");
        QMenu * editMenu = bar->addMenu("编辑");
    
        //创建菜单项
        QAction * newAction = fileMenu->addAction("新建");
    
        //添加分割线
        fileMenu->addSeparator();
    
        QAction * openAction = fileMenu->addAction("打开");
    
    
        //2、工具栏 可以有多个
        QToolBar * toolBar = new QToolBar(this);
        addToolBar(Qt::LeftToolBarArea,toolBar);
    
        //设置只允许左右停靠
        toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    
        //设置浮动
        toolBar->setFloatable(false);
    
        //设置移动 (总开关)
        toolBar->setMovable(false);
    
        //工具栏中放入小部件
        toolBar->addAction(newAction);
        //添加分割线
        toolBar->addSeparator();
        toolBar->addAction(openAction);
    
        //状态栏  只能有一个
        QStatusBar * stBar = statusBar();
        setStatusBar(stBar);
    
        QLabel * label1 = new QLabel("左侧提示信息",this);
        stBar->addWidget(label1);
    
        QLabel * label2 = new QLabel("右侧提示信息",this);
        stBar->addPermanentWidget(label2);
    
    
    
        //铆接部件 (浮动窗口)  可以有多个
        QDockWidget * dock = new QDockWidget("aaa" ,this);
        addDockWidget(Qt::BottomDockWidgetArea,dock);
    
        //只允许左右停靠
        dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    
        //核心部件  只能有一个
        QTextEdit * edit = new QTextEdit(this);
        setCentralWidget(edit);
        
        
    }
    
    
    
    MainWindow::~MainWindow()
    {
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82

    1.2 工具栏 可以有多个

    1.2.1 QToolBar* toolbar = new QToolBar();

    1.2.2 addToolBar( 默认停靠范围 Qt::LeftToolBarArea ,toolbar) 添加到窗口中

    1.2.3 设置 只允许左右停靠、 setAllowedAreas

    1.2.4 设置浮动、 setFloatable

    1.2.5 设置移动 setMovable

    1.3 状态栏 只能有一个

    1.3.1 QStatusBar * stBar = statusBar();

    1.3.2 setStatusBar(stBar);

    1.3.3 stBar->addWidget(label1); 左侧信息添加

    1.3.4 stBar->addPermanentWidget(label2); 右侧信息添加

    1.4 铆接部件 可以有多个

    1.4.1 QDockWidget * dockWidget = new QDockWidget;

    1.4.2 addDockWidget(Qt::BottomDockWidgetArea,dock); 添加到窗口中

    1.4.3 dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); 设置后期停靠范围

    1.5 核心部件 只能有一个

    1.5.1 setCentralWidget(edit);

    2 资源文件添加

    2.1 将资源文件放入到项目下

    2.2 右键项目->添加新文件 -> Qt ->Qt Recourse File

    2.3 给资源文件起名 res 生成 res.qrc

    2.4 用编辑的方式打开 res.qrc

    2.5 添加前置 - 添加文件

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

    3 对话框创建

    3.1 分类:模态对话框 和非模态对话框

    3.1.1 模态 不可以对其他窗口进行操作

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

    3.1.3 模态对话框创建

    3.1.3.1 QDialog dlg(this);

    3.1.3.2 dlg.exec();

    3.1.4 非模态对话框创建

    3.1.4.1 QDialog * dlg2 = new QDialog(this);

    3.1.4.2 dlg2->show();

    3.1.4.3 设置属性 dlg2->setAttribute(Qt::WA_DeleteOnClose);

    3.2 标准对话框 QMessageBox

    3.2.1 利用静态成员函数可以弹出 警告、询问、信息、错误对话框

    3.2.2 参数1 父窗口 参数2 标题 参数3 提示信息 参数4 按键类型 参数5 默认关联回车按键

    3.2.3 QMessageBox::Save == QMessageBox::question(this,“询问”,“question” , QMessageBox::Save | QMessageBox::Cancel ,QMessageBox::Cancel)

    3.2.4 返回值代表用户选择按钮

    3.3 其他常用标准对话框

    3.3.1 颜色对话框

    3.3.1.1 QColor color = QColorDialog::getColor(Qt::red);

    3.3.2 文件对话框

    3.3.2.1 QString fileName = QFileDialog::getOpenFileName(this,“打开文件”,“C:\Users\zhangtao\Desktop”,“(*.doc)”);

    3.3.3 字体对话框

    3.3.3.1 QFont font = QFontDialog::getFont(&flag,QFont(“华文彩云”,36));

    3.3.3.2 qDebug() << “字体” << font.family().toUtf8().data() << “字号”<< font.pointSize()<< “是否加粗”<

    4 界面布局

    4.1 设计登陆窗口

    4.2 有用户名 密码、编辑框、登陆和退出按钮

    4.3 灵活运用弹簧进行界面布局

    5 常用控件

    5.1 按钮组

    5.1.1 QPushButton 最常用按钮,里面可以加图片

    5.1.2 QToolButton 工具按钮 用于显示图片

    5.1.2.1 toolButtonStyle 设置显示图片和文件

    5.1.2.2 autoRaise透明凸起效果

    5.1.3 QRadioButton 单选按钮

    5.1.3.1 默认选中 setChecked(true)

    5.1.4 QCheckBox 复选按钮

    5.1.4.1 stateChanged 信号

    5.1.4.2 0 未选中

    5.1.4.3 1 半选中

    5.1.4.4 2 选中

    5.2 QListWidget

    5.2.1 创建项 QListWidgetItem * item = new QListWidgetItem(“锄禾日当午”);

    5.2.2 将项加载到 控件中

    5.2.3 ui->listWidget->addItem(item);

    5.2.4 设置对齐方式 item->setTextAlignment(Qt::AlignHCenter);

    5.2.5 ui->listWidget->addItems(list); 可以一次性放入所有内容

    5.3 QTreeWidget 树控件

    5.3.1 设置头

    5.3.1.1 ui->treeWidget->setHeaderLabels(QStringList()<<“英雄”<<“英雄简介”);

    5.3.2 创建根项目

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

    5.3.3 将根项目添加到树控件中

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

    5.3.4 挂载子项目

    5.3.4.1 QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1);

    5.3.4.2 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 设置正文

    5.4.5 ui->tableWidget->setItem(行,列 , new QTableWidgetItem(“字符串”));

    5.5 其他常用控件

    5.5.1 栈控件

    5.5.1.1 ui->stackedWidget->setCurrentIndex(0);

    5.5.1.2 切换栈显示内容

    5.5.2 下拉框

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

    5.5.2.2 设置选中

    5.5.2.3 ui->comboBox->setCurrentIndex(2);

    5.5.2.4 ui->comboBox->setCurrentText(“拖拉机”);

    5.5.3 Qlabel显示图片

    5.5.3.1 ui->label_img->setPixmap(QPixmap(“:/Image/butterfly.png”));

    5.5.4 QLabel显示gif图片

    5.5.4.1 QMovie * movie =new QMovie(“:/Image/mario.gif”);

    5.5.4.2 ui->label_movie->setMovie(movie);

    5.5.4.3 movie->start();

    5.6

  • 相关阅读:
    Qt 渗透测试 | 【Goby】自动化漏洞扫描工具介绍、下载、使用、功能
    InceptionNext:当Inception遇到ConvNeXt
    Spring Cloud--@RefreshScope动态刷新的注意事项
    笔记50:正则表达式入门宝典
    系统架构常用的工具
    vscode中格式化C++代码缩进的方法
    【C++入门系列】——类和对象
    华为交换机S200, S1700系列产品命名规则
    C++正则表达式
    浏览器截图扩展增加快捷键
  • 原文地址:https://blog.csdn.net/qq_45865950/article/details/130905164