qt5基本操作入门学习笔记

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值