Qt Study
创始人
2024-05-28 11:49:23
0

按钮->点击->窗口->关闭窗口

connect(信号的发送者,发送具体信号,信号的接收者,信号的处理);

信号处理函数称为槽

信号槽的优点,松散耦合,信号发送端和接收端本身是没有关联的,通过connect连接将两端耦合在一起

//点击按钮,关闭当前窗口
connect(myBtn, &QPushButton::clicked, this, &QWidget::close);

自定义信号和槽

teacher.h

#ifndef TEACHER_H
#define TEACHER_H#include class Teacher : public QObject
{Q_OBJECT
public:explicit Teacher(QObject *parent = nullptr);//自定义信号写到signals下//返回值类型为void,只需要声明,不需要实现//可以有参数,可以重载
signals:void hungry();};#endif // TEACHER_H

student.h

#ifndef STUDENT_H
#define STUDENT_H#include class Student : public QObject
{Q_OBJECT
public:explicit Student(QObject *parent = nullptr);//可以写到public下//返回值类型为void,需要声明,也需要实现//可以有参数,也可以重载void please();signals:};#endif // STUDENT_H

student.cpp

#include "student.h"
#include 
Student::Student(QObject *parent) : QObject(parent)
{}
void Student::please()
{std::cout << "please teacher eat dinner" << std::endl;
}

mywidget.h

#ifndef MYWIDGET_H
#define MYWIDGET_H#include 
#include "teacher.h"
#include "student.h"
class myWidget : public QWidget
{Q_OBJECTpublic:myWidget(QWidget *parent = nullptr);Teacher *t = new Teacher(this);Student *s = new Student(this);~myWidget();
};
#endif // MYWIDGET_H

mywidegt.cpp

回调函数:在函数内部将被调函数名转换为地址作为参数供系统调用

信号可以连接信号

信号与槽的连接可以是一对多、多对一

信号的参数可以比槽多,但对应的参数在类型和顺序上要一致 (对于不匹配的,可以用匿名函数来调用相应的槽)

匿名函数的使用

  btn->show();connect(btn, &QPushButton::clicked, this, [=](){QWidget *window1 = new QWidget;window1->show();btn->setText("close");});

#include "mywidget.h"myWidget::myWidget(QWidget *parent): QWidget(parent)
{connect(this->t, &Teacher::hungry, this->s, &Student::please);emit(this->t->hungry());//    重载时,通过函数指针传递函数地址
//    //定义某类中函数的函数指针,要加类名以表作用域
//    void (Teacher:: *hungryptr) (std::string name) = &Teacher::hungry;
//    void (Student:: *pleaseptr) (std::string name) = &Student::please;
//    connect(this->t, hungryptr, this->s, pleaseptr);
//    emit(this->t->hungry("good food"));}myWidget::~myWidget()
{
}

菜单栏与工具栏

#include

#include

    QMenuBar *menubar = new QMenuBar(this); //菜单栏QMenu *menu1 = new QMenu("file"); // 菜单menu1->addAction("new");menu1->addAction("open");menubar->addMenu(menu1);menubar->move(200, 300);QToolBar *toolbar = new QToolBar(this); // 工具栏toolbar->addAction("new");toolbar->addAction("open");

自定义对话框

模态对话框:不可以对其他窗口进行操作

非模态对话框:可以对其他窗口进行操作

#include

        // 模态QDialog log1(this);log1.resize(100, 200);log1.exec();// 非模态,用指针建立,存储在堆上,如果存在栈上匿名函数执行完就释放了// 会出现一闪而过的情况,模态的不需要QDialog *log2 = new QDialog(this);log2->resize(100, 200);log2->show();log2->setAttribute(Qt::WA_DeleteOnClose); //关闭时释放内存,不然会内存泄漏

标准对话框

#include

    QMessageBox::critical(this, "critical", "out of range");QMessageBox::information(this, "info", "text");// QMessageBox::question(this, "query", "answer", QMessageBox::Save | QMessageBox::No);if( QMessageBox::question(this, "query", "answer", QMessageBox::Save | QMessageBox::No) == QMessageBox::Save){std::cout << "select Save" << std::endl;}else{std::cout << "select No" << std::endl;}

布局

水平布局、垂直布局、栅格布局

使用时可以直接创建相应布局,将需要布局的item放入即可

或者创建Widget,放入item并选择相应布局

使用Horizontal spacer 或者 Vertical spacer来将label、按钮、编辑框等自适应窗口大小

QStringList

    QListWidgetItem *item = new QListWidgetItem("1111");QStringList strs;  // string liststrs << "111" << "222" << "333";ui->listWidget->addItem(item);ui->listWidget->addItems(strs);

相关内容

热门资讯

公司年会致辞 公司年会致辞(15篇)  在现实生活或工作学习中,大家都不可避免地要接触到致辞吧,致辞具有很强的实用...
签约仪式主持词 签约仪式主持词  签约是一件非常严肃的事,也可能是你人生中最重要的一件事,所以,请大家一定要认真对待...
年终晚会主持词 年终晚会主持词范文集锦五篇  主持词是主持人在节目进行过程中用于串联节目的串联词。我们眼下的社会,主...
建筑理事会闭幕讲话 建筑理事会闭幕讲话  欢迎来到CN人才网,下面是小编精心为大家整理的建筑理事会闭幕讲话,希望对大家有...
新郎父亲在婚礼上的致辞 新郎父亲在婚礼上的致辞各位领导,各位亲朋好友,两位亲家:  上午好!今天,在儿子新婚之喜的时刻,借助...
通用主持词 通用主持词十篇  主持词要注意活动对象,针对活动对象写相应的主持词。在当今中国社会,主持词与我们不再...
首届文化节闭幕式主持词 首届文化节闭幕式主持词  活动对象的不同,主持词的写作风格也会大不一样。在一步步向前发展的社会中,各...
启动仪式主持词 启动仪式主持词(精选12篇)  由主持人于节目进行过程中串联节目的串联词。如今的各种演出活动和集会中...
员工大会主持词结束语分享 员工大会主持词结束语分享  一、 整理队形  徐:请各部门赶快入场,按指示牌站整齐。  二、 准备开...
班级毕业晚会主持词 班级2021年毕业晚会主持词  主持人在台上表演的灵魂就表现在主持词中。在当下的中国社会,司仪等是很...
白事主持词 白事主持词  主持词没有固定的格式,他的最大特点就是富有个性。在各种集会、活动不断增多的社会,主持成...
领导证婚人婚礼精彩致辞 领导证婚人婚礼精彩致辞(通用13篇)  在平平淡淡的学习、工作、生活中,大家都不可避免地要接触到致辞...
儿童节主持词 儿童节主持词(精选15篇)  主持人在台上表演的灵魂就表现在主持词中。现今社会在不断向前发展,主持人...
追悼会的主持词 关于追悼会的主持词范文(精选11篇)  根据活动对象的不同,需要设置不同的主持词。时代不断在进步,主...
《香水》经典台词 《香水》经典台词  在学习、工作生活中,越来越多人会去使用台词,台词起着交代人物关系和背景、进行剧情...
公司年会晚会主持词2019   公司年会晚会主持词2019【一】  甲(女):尊敬的曾总、王书记,亲爱的各位同事,  合:大家好...
学校元旦晚会主持稿开场白 学校元旦晚会主持稿开场白  主持词并没有固定的格式或者模板,个性就是主持词的特点。不同内容的活动,不...
乔迁之喜主持词 乔迁之喜主持词(通用13篇)  契合现场环境的主持词能给集会带来双倍的效果。在如今这个时代,我们对主...
小学元旦晚会主持词 有关小学元旦晚会主持词(通用8篇)  主持词已成为各种演出活动和集会中不可或缺的一部分。现今社会在不...