Qt:主窗体(QMainwindow)初始化注意事项

使用"setAttribute(Qt::WA_DeleteOnClose);"释放资源。

该语句在控件(QWidget)收到关闭事件(close event)时删除该控件,释放资源。该语句一般在控件构造时

调用。

cpp 复制代码
Main_window::Main_window(QWidget *parent)
		: QMainWindow(parent)
		, ui(new Ui::Main_window)
	{
		ui->setupUi(this);
		
		set_scene();
		set_connection();
		
		setAttribute(Qt::WA_DeleteOnClose);
	}

注意事项:

如果主窗体在main函数中使用智能指针创建,智能指针会根据环境自动释放指针资源,则不应再使用该语句释放资源,否则会导致主窗体指针被释放两次。

添加菜单

在头文件添加菜单和按钮

cpp 复制代码
QMenu* file_menu_;
			
QAction* open_action_;

QAction* exit_action_;

在源文件进行实例化。

cpp 复制代码
        file_menu_ = menuBar()->addMenu(tr("&File"));
		
		open_action_ = new QAction(this);
		open_action_->setText(tr("Open"));
		open_action_->setShortcut(QKeySequence::Open);
		file_menu_->addAction(open_action_);
		
		exit_action_ = new QAction(this);
		exit_action_->setText(tr("E&xit"));
		exit_action_->setShortcut(QKeySequence::Quit);
		file_menu_->addAction(exit_action_);
相关推荐
27399202914 小时前
生成二维码 QRCode (QT)
开发语言·qt
火山灿火山14 小时前
初识Qt(使用不同中方式创建helloworld)
开发语言·qt
phdsky15 小时前
【设计模式】抽象工厂模式
c++·设计模式·抽象工厂模式
雾岛听蓝15 小时前
C++ 入门核心知识点(从 C 过渡到 C++ 基础)
开发语言·c++·经验分享·visual studio
xlq2232216 小时前
19.模版进阶(上)
c++
yuuki23323316 小时前
【C++】初识C++基础
c语言·c++·后端
小年糕是糕手16 小时前
【C++】类和对象(二) -- 构造函数、析构函数
java·c语言·开发语言·数据结构·c++·算法·leetcode
玫瑰花店16 小时前
SomeIP报文详解
c++·someip
利刃大大17 小时前
【c++中间件】redis介绍 && redis-plus-plus库使用
c++·redis·中间件
永不停转17 小时前
关于 QGraphicsItemGroup 内部项目发生变化后group重新定位的问题
c++·qt