菜单栏,菜单,菜单项
#include "mainwindow.h"
#include <QMenuBar>
#include <QMenu>
#include <QAction>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//设置窗口
this->resize(800,600);
this->setWindowTitle("主窗口");
//获取菜单栏,用QMenuBar指针接收
QMenuBar* MyMenubar = this->menuBar();
//设置菜单,用QMenu指针接收
QMenu* Menu1 = MyMenubar->addMenu("文件");
QAction* action1 = Menu1->addAction("打开");
//添加菜单分割线
Menu1->addSeparator();
QAction* action2 = Menu1->addAction("保存");
}
MainWindow::~MainWindow()
{
}
工具栏
//获取工具栏
QToolBar* toolbar1 = this->addToolBar("工具栏");
//设置工具栏
toolbar1->addAction(action1);
toolbar1->addAction(action2);
状态栏:
//获取状态栏
QStatusBar* status1 = this->statusBar();
//设置状态栏
status1->addWidget(new QLabel("status:"));
铆接控件,浮动窗口:
//创建铆接控件,浮动窗口
QDockWidget* dockwidget = new QDockWidget();
//将铆接控件添加到窗口
this->addDockWidget(Qt::TopDockWidgetArea,dockwidget);
中心控件:
//创建中心控件
QTextEdit* centertext = new QTextEdit("中心控件");
//添加中心控件到窗口
this->setCentralWidget(centertext);
资源文件
添加文件:
右键项目:点击QT:Qt Resource File:下一步;
将资源文件放到项目文件夹下;
填写文件名点击下一步;
点击 Add Prefix:点击Add files,选择文件;
添加后:右键文件选择:复制资源路径
//创建
QPixmap pix;
//加载
pix.load(":/new/prefix1/logo.jpg");
//设置图片到菜单项
action1->setIcon(pix);
//设置菜单到窗口图标
this->setWindowIcon(pix);
点击按钮弹出文件选择框
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QFileDialog"
#include "QString"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setWindowTitle("主窗口");
this->resize(800,600);
btn1 = new QPushButton("打开",this);
connect(btn1,&QPushButton::clicked,this,[](){
QStringList str = QFileDialog().getOpenFileNames();
qDebug()<<str[0];
});
}
MainWindow::~MainWindow()
{
delete ui;
}
对话框:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QFileDialog"
#include "QString"
#include <QDebug>
#include <QColorDialog>
#include <QColor>
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setWindowTitle("主窗口");
this->resize(800,600);
btn1 = new QPushButton("打开",this);
connect(btn1,&QPushButton::clicked,this,[](){
//颜色选择框
QColor color = QColorDialog().getColor();
qDebug()<< color;
//文件选择框
QStringList str = QFileDialog().getOpenFileNames();
qDebug()<<str[0];
});
//按钮
btn2 = new QPushButton("对话框",this);
btn2->move(100,0);
//绑定
connect(btn2,&QPushButton::clicked,this,[&](){
//对话窗
// QMessageBox::about(this,"标题","内容");
int a=QMessageBox::question(this,"标题","内容",
QMessageBox::Ok|QMessageBox::Open|QMessageBox::Save);
if(a==QMessageBox::Ok){
qDebug()<<QMessageBox::Ok;
}else if(a==QMessageBox::Open){
qDebug()<<QMessageBox::Open;
}else{
qDebug()<<QMessageBox::Save;
}
});
}
MainWindow::~MainWindow()
{
delete ui;
}
标签超链接
QLabel* lab = new QLabel(this);
lab->setText("<a href=\"https://www.baidu.com\">百度</a>");
lab->move(300,0);
lab->setOpenExternalLinks(true);
鼠标检测事件:
void MainWindow::mousePressEvent(QMouseEvent *event){
qDebug()<<event->x();
qDebug()<<event->y();
}
void MainWindow::mouseMoveEvent(QMouseEvent *event){
qDebug()<<event->x();
qDebug()<<event->y();
}