Qt学习八:控件五:QTabWidget控件、QMenu和QToolBar控件、

这是第五波控件。

其中,qtButton.h的程序为:

#ifndef QTBUTTON_H
#define QTBUTTON_H

#include <QtWidgets/QMainWindow>
#include "ui_qtbutton.h"

//-------------------------------
#include<qtabwidget.h>

#include<qmenu.h>
#include<qmenubar.h>
#include<qaction.h>
#include<qtoolbar.h>

class qtButton : public QMainWindow
{
	Q_OBJECT

public:
	qtButton(QWidget *parent = 0);
	~qtButton();

private:
	Ui::qtButtonClass ui;

	//---------------------------------
	QTabWidget *tabWidget;

	//-----------QMenu和QToolBar控件------------
	QMenu *fileMenu, *editMenu, *helpMenu;
	QToolBar *fileToolBar, *editToolBar;

	QAction *newAct;
	QAction *cutAct;
	QAction *copyAct;
	QAction *pasteAct;
	QAction *aboutQtAct;


	

private slots:
//-----------QMenu和QToolBar控件------------
void newFile();

};

#endif // QTBUTTON_H


//--------------------TabWidget-------------
class tabA :public QWidget
{
	Q_OBJECT
public:
	tabA(QWidget *parent = 0);
};

class tabB :public QWidget
{
	Q_OBJECT
public:
	tabB(QWidget *parent = 0);
};


再者,qtButton.cpp中程序为

#include "qtbutton.h"

//-----------TabWidget--------------------
#include<qwidget.h>
#include<qpushbutton.h>

//-----------QMenu和QToolBar控件------------
#include<qmessagebox.h>

qtButton::qtButton(QWidget *parent)
: QMainWindow(parent)
{
	ui.setupUi(this);

	//------------TabWidget-----------
	tabWidget = new QTabWidget(this);

	tabWidget->setGeometry(QRect(30,80, 340, 140));
	tabWidget->addTab(new tabA, "A Part");
	tabWidget->addTab(new tabB, "B Part");

	//-----------QMenu和QToolBar控件------------
	fileMenu = new QMenu(this);
	editMenu = new QMenu(this);
	helpMenu = new QMenu(this);
	
	newAct = new QAction(QIcon(":/images/E:/testpictures/meizi.jpg"), tr("new"), this);
	newAct->setShortcut(tr("Ctrl+N"));
	newAct->setStatusTip(tr("new file"));
	connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));

	cutAct = new QAction(QIcon(":/images/E:/testpictures/meizi2.jpg"), tr("cut"), this);
	cutAct->setShortcut(tr("Ctrl+X"));
	cutAct->setStatusTip(tr("cut content"));
	

	copyAct = new QAction(QIcon(":/images/E:/testpictures/meizi3.jpg"), tr("copy"), this);
	copyAct->setShortcut(tr("Ctrl+C"));
	copyAct->setStatusTip(tr("copy content"));
	
	pasteAct = new QAction(QIcon(":/images/E:/testpictures/meizi4.jpg"), tr("paste"), this);
	pasteAct->setShortcut(tr("Ctrl+V"));
	pasteAct->setStatusTip(tr("Paste content"));



	aboutQtAct = new QAction(tr("About Qt"), this);
	aboutQtAct->setStatusTip(tr("about Qt infomation"));
	connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));//triggered 触发的
	
	//填充菜单
	fileMenu = menuBar()->addMenu(tr("File"));
	fileMenu->addAction(newAct);
	fileMenu->addSeparator();

	editMenu = menuBar()->addMenu(tr("Edit"));
	editMenu->addAction(cutAct);
	editMenu->addAction(copyAct);
	editMenu->addAction(pasteAct);
	editMenu->addSeparator();

	helpMenu = menuBar()->addMenu(tr("Help"));
	helpMenu->addAction(aboutQtAct);
	
	//toolBar工具条
	fileToolBar = addToolBar(tr("new"));
	fileToolBar->addAction(newAct);

	editToolBar = addToolBar(tr("edit"));
	editToolBar->addAction(cutAct);
	editToolBar->addAction(copyAct);
	editToolBar->addAction(pasteAct);



}

qtButton::~qtButton()
{

}

//------------TabWidget-------------------------------
tabA::tabA(QWidget *parent) :QWidget(parent)
{
	QPushButton *buttonA = new QPushButton(this);
	buttonA->setText("Page A");
}

tabB::tabB(QWidget *parent) :QWidget(parent)
{
	QPushButton *buttonB = new QPushButton(this);
	buttonB->setText("Page B");
}

//-----------QMenu和QToolBar控件------------
void qtButton::newFile(){
	QMessageBox::warning(this, tr("Warning"),
		tr("create new file ?"),
		QMessageBox::Yes | QMessageBox::Default,
		QMessageBox::No);
}

运行结果为:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值