一、按钮一按下,就会在text文本框中显示指定内容
1、ui界面布局
2、mydialog.h中添加槽函数
public slots:
void myDynamicOutput();
3、(1)mydialog.cpp中的构造函数中加入连接函数connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(myDynamicOutput()));
(2)定义槽函数:
void MyDialog::myDynamicOutput()
{
QString str="123";
ui->plainTextEdit->setPlainText(str);
}
完整代码:
mydialog.h:
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include <QDialog>
namespace Ui {
class MyDialog;
}
class MyDialog : public QDialog
{
Q_OBJECT
public:
explicit MyDialog(QWidget *parent = nullptr);
~MyDialog();
private:
Ui::MyDialog *ui;
public slots:
void myDynamicOutput();
};
#endif // MYDIALOG_H
mydialog.cpp:
#include "mydialog.h"
#include "ui_mydialog.h"
#include <QString>
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyDialog)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(myDynamicOutput()));
}
MyDialog::~MyDialog()
{
delete ui;
}
void MyDialog::myDynamicOutput()
{
QString str="123";
ui->plainTextEdit->setPlainText(str);
}
main.cpp:几乎从来不变
#include "mydialog.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyDialog w;
w.show();
return a.exec();
}
运行结果显示:
二、点击按钮,text中输出一系列数字
1、ui界面布局:
2、.h文件中加入槽函数:
public slots:
void myDynamicOutput();
void staticOutput();
3.cpp文件中:
(1)构造函数中建立连接:
connect(ui->dynamic_PushButton,SIGNAL(clicked()),this,SLOT(myDynamicOutput()));
connect(ui->static_PushButton,SIGNAL(clicked()),this,SLOT(staticOutput()));
(2)定义连接函数:
void MainWindow::myDynamicOutput()
{
ui->plainTextEdit->clear();
for(int i=0;i<50;i++)
{
ui->plainTextEdit->appendPlainText(QString::number(i,10));
QApplication::processEvents();
}
}
void MainWindow::staticOutput()
{
ui->plainTextEdit->clear();
for(int i=0;i<50;i++)
{
ui->plainTextEdit->appendPlainText(QString::number(i,10));
}
}
完整代码:
mainwindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
public slots:
void myDynamicOutput();
void staticOutput();
};
#endif // MAINWINDOW_H
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->dynamic_PushButton,SIGNAL(clicked()),this,SLOT(myDynamicOutput()));
connect(ui->static_PushButton,SIGNAL(clicked()),this,SLOT(staticOutput()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::myDynamicOutput()
{
ui->plainTextEdit->clear();
for(int i=0;i<50;i++)
{
ui->plainTextEdit->appendPlainText(QString::number(i,10));
QApplication::processEvents();
}
}
void MainWindow::staticOutput()
{
ui->plainTextEdit->clear();
for(int i=0;i<50;i++)
{
ui->plainTextEdit->appendPlainText(QString::number(i,10));
}
}
main.cpp保持不变
结果:
三、lineEdit中输入内容,按钮按下,内容被输出
1、ui界面布局:
2、在ui界面,点击按钮,选择转到槽
(1).h文件中会增加一个槽函数
private slots:
void on_pushButton_clicked();
(2).cpp文件中会有该槽函数的定义:
void MyWidget::on_pushButton_clicked()
{
点击按钮想要实现的功能
}
与前面使用连接函数的区别:不需要在构造函数中加connect函数了
完整代码:
mywidget.h文件:
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
namespace Ui {
class MyWidget;
}
class MyWidget : public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = nullptr);
~MyWidget();
private slots:
void on_pushButton_clicked();
private:
Ui::MyWidget *ui;
};
#endif // MYWIDGET_H
mywidget.cpp文件:
#include "mywidget.h"
#include "ui_mywidget.h"
#include <QDebug>
#include<QMessageBox>
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::MyWidget)
{
ui->setupUi(this);
}
MyWidget::~MyWidget()
{
delete ui;
}
void MyWidget::on_pushButton_clicked()
{
QString mString = ui->lineEdit->text();
qDebug()<< mString;
}
结果: