好久没写过Qt了,写个Qt回味一下信号与槽

  1. 界面效果

  1. 界面类.h

#include <QtWidgets/qmainwindow.h>

#include <QtWidgets/qwidget.h>

#include <QtWidgets/qplaintextedit.h>

#include <QtWidgets/qboxlayout.h>

#include <QtWidgets/qlineedit.h>

#include <QtWidgets/qpushbutton.h>

//#pragma comment(lib,"Qt5Widgetsd.lib")

class testClass : public QMainWindow

{

Q_OBJECT

public:

testClass(QWidget *parent = nullptr);

~testClass();

void initWindow();

protected slots:

void changePainText(); //槽函数

private:

QPlainTextEdit* m_pPainTex;

QLineEdit* m_pLineEdit;

QPushButton* m_pButton;

};

  1. 界面实现.cpp

#include "testClass.h"

testClass::testClass(QWidget *parent): QMainWindow(parent)

{

initWindow();

connect(m_pButton, SIGNAL(released()),this,SLOT(changePainText())); //槽函数

this->setWindowTitle("Testing");

this->setMinimumSize(450,250);

}

void testClass::changePainText()

{

if (m_pLineEdit)

{

QString strLineEdit = m_pLineEdit->text();

if (m_pPainTex && !strLineEdit.isEmpty())

{

m_pPainTex->setPlainText(strLineEdit);

}

}

return;

}

void testClass::initWindow()

{

m_pPainTex = new QPlainTextEdit(this);

m_pPainTex->setGeometry(50,25,350,100); //富文本的布局位置

m_pPainTex->setReadOnly(true); //设置只读模式

m_pLineEdit = new QLineEdit(this); //设置父,用于半自动化释放

m_pLineEdit->setGeometry(50,145,50,25);

m_pButton = new QPushButton(this);

m_pButton->setGeometry(350,145,50,25);

m_pButton->setText("click");

}

testClass::~testClass()

{

if (m_pPainTex)

{

delete m_pPainTex;

m_pPainTex = nullptr;

}

if (m_pButton)

{

delete m_pButton;

m_pButton = nullptr;

}

if (m_pLineEdit)

{

delete m_pLineEdit;

m_pLineEdit = nullptr;

}

}

  1. 启动窗体.cpp

#include <QtWidgets/qapplication.h>

#include "testClass.h"

int main(int argc, char* argv[])

{

QApplication a(argc, argv);

testClass T;

T.show();

return a.exec();

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值