【学习笔记】C++ GUI Qt4 第三章 3.1 子类化QMainWindow

本章介绍如何在Qt中创建主窗口,特别是子类化QMainWindow。通过学习,你将能构建包含菜单、工具栏、状态栏的用户界面,类似于Excel的Spreadsheet应用。首先在Qt Creator中创建Qt Widgets Application项目,然后子类化QMainWindow。为了管理GUI的图像资源,利用Qt的资源机制,创建并配置资源文件'spreadsheet.qrc',将图片添加到项目中,并通过资源路径:/images/icon.png进行引用。
摘要由CSDN通过智能技术生成

第三章 创建主窗口

这一章讲解如何使用Qt创建主窗口。在本章的最后部分,你将能够创建一个应用程序的完整用户界面,包括菜单、工具栏、状态栏以及应用程序所需的足够多的对话框。而在第四章则会实现程序的相关功能。Spreadsheet电子制表软件类似于我们常用的Excel。

首先打开Qt Creator新建一个项目Application->Qt Widgets Application->起名为“q02_Spreadsheet”->类名为“MainWindow”。

3.1 子类化QMainWindow

//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class QAction;
class QLabel;
class FindDialog;
class Spreadsheet;

namespace Ui {
   
class MainWindow;
}

class MainWindow : public QMainWindow
{
   //MainWindow类定义为QMainWindow类的子类。
 //由于类MainWindow提供了自己的信号和槽,所以它包含了Q_OBJECT宏
    Q_OBJECT

public:
    MainWindow();
    ~MainWindow();

protected:
    void closeEvent(QCloseEvent *event);
    //closeEvent()函数是QWidget类中的一个虚函数,当用户关闭窗口时,这个函数会被自动调用。
    //类MainWindow中重新实现了它,这样就可以向用户询问一个标准问题“Do you want to save yourchanges?" ,并且可以把用户的一些偏好设置保存到磁盘中。

private slots:
    void newFile();
    void open();
    bool save();
    bool saveAs();
    void find();
    void goToCell();
    void sort();
    void about();
    /*
     * 像File->New和Help->About这样的菜单项,在MainWindow中会被实现为私有槽。
     * 除了save()槽和saveAs( )槽返回一
     * 个bool值以外,绝大多数的槽都把void作为它们的返回值。
     * 当槽作为一个信号的响应函数而被执行时,就会忽略这个返回值;
     * 但是当把槽作为函数来调用时,其返回值对我们的作用就和调用任何一个普通的C++函数时的作用是相同的。
     */
    void 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值