stackedWidget
切换页
void MainWindow::on_change_clicked()
{
static int i=0;
//i=++i%4;
ui->stackedWidget->setCurrentIndex(++i%4);//setCurrentIndex切换当前页
}
获取lineEdit内容
//---------------------------------------------------------------------
QString str=ui->lineEdit->text();//获取lineEdit输入内容
qDebug()<<str; //添加头文件#include<QDebug>
ui->lineEdit->setText("123456");//设置内容
菜单栏编辑
#include "mainwindow.h"
#include<QPushButton>
#include<QDebug>
#include<QMenuBar>
#include<QAction>
#include<QToolBar>
#include<QStatusBar>
#include<QLabel>//标签
#include<QTextEdit>//文本编辑
#include<QDockWidget>//浮动窗口
#include<QMessageBox>
#include<QDialog>
#include<QFileDialog>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
/*
//对于主窗口:坐标系统是相对于屏幕而言的
move(100,100);
resize(500,500);
QPushButton *b1=new QPushButton(this);
b1->setText("123");
b1->move(10,10);
b1->resize(60,80);
//b1为父对象
QPushButton *b2=new QPushButton(b1);
b2->setText("xxx");
b2->resize(30,40);
*/
//菜单栏 文件 工具栏 浮动窗口 状态栏----------------------------
QMenuBar *mybar=menuBar();
setMenuBar(mybar);
QMenu *pfile=mybar->addMenu("文件xx");
QAction *pnew=pfile->addAction("新建xx");
connect(pnew,&QAction::triggered,
[=]()
{
qDebug()<<"an xia";
});
pfile->addSeparator();//添加分割线
QAction *popen=pfile->addAction("打开xx");
//-----------------------------------------------------------
QAction *p1=pfile->addAction("模块对话框");
connect(p1,&QAction::triggered,
[=]()
{
//about(QWidget *parent, const QString &title, const QString &text)
QMessageBox::about(this,"about","qt");
});
QAction *p2=pfile->addAction("对话框");
connect(p2,&QAction::triggered,
[=]()
{
QDialog dlg;
dlg.exec();
qDebug()<<"1111";
});
QAction *p3=pfile->addAction("对话框2:yes or no");
connect(p3,&QAction::triggered,
[=]()
{
//[static] int QMessageBox::question(QWidget *parent, const QString &title, const QString &text, int button0, int button1 = 0, int button2 = 0)
//yes or no?//也可以指定其他如“QMessageBox::cancel”等
int ret=QMessageBox::question(this,"question","are you kitting?");
switch(ret)
{
case QMessageBox::Yes:
qDebug()<<"i am ok";
break;
case QMessageBox::No:
qDebug()<<"i am bad";
break;
default:
break;
}
});
QAction *p4=pfile->addAction("对话框2:打开文件");
connect(p4,&QAction::triggered,
[=]()
{
// "../" 表示路径
//打开多种文件:"souce(*.cpp *.h);;Text(*.text);;all"
QString path=QFileDialog::getOpenFileName(
this,
"open",
"../",
"souce(*.cpp *.h);;Text(*.text);;all(*.*)"
);
qDebug()<<path;
});
//-------------------------------------------------------------
QToolBar *toolbar=addToolBar("toolbar");
toolbar->addAction("新建");
QPushButton *b=new QPushButton(this);
b->setText("xxx");
toolbar->addWidget(b);//添加小控件
connect(b,&QPushButton::clicked,
[=](){
b->setText("123");
});
//-----------------------------------------------------------------
QStatusBar *statusbar=statusBar();
QLabel *label=new QLabel(this);
label->setText("normal text file");
statusbar->addWidget(label);
//从左往右添加
statusbar->addWidget(new QLabel("22",this));
//从右往左添加
statusbar->addPermanentWidget(new QLabel("33",this));
//----------------------------------------------------------------
QTextEdit *textedit=new QTextEdit(this);
setCentralWidget(textedit);
//浮动窗口--------------------------------------------------------
QDockWidget *dock=new QDockWidget(this);
addDockWidget(Qt::RightDockWidgetArea,dock);// RightDockWidgetArea放的位置
QTextEdit *textedit1=new QTextEdit(this);
dock->setWidget(textedit1);
}
MainWindow::~MainWindow()
{
}
信号重载
#include "smallwidget.h"
#include<QSpinBox>
#include<QSlider>
#include<QHBoxLayout>
smallwidget::smallwidget(QWidget *parent) : QWidget(parent)
{
QSpinBox *spin=new QSpinBox(this);
QSlider *slider=new QSlider(Qt::Horizontal,this);
//把控件添加到布局
QHBoxLayout *hlayout=new QHBoxLayout(this);
hlayout->addWidget(spin);
hlayout->addWidget(slider);
//信号重载,指定信号类型int static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged)
connect(spin,static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged),
slider,&QSlider::setValue
);
connect(slider,&QSlider::valueChanged,
spin,&QSpinBox::setValue);
}
设置特征
ui->label->setStyleSheet("QLable{color::rgb(0,255,255)}");
学习:https://www.bilibili.com/video/BV1t64y1f7d1?from=search&seid=3153538108006605763