QPlainTextEdit
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QPlainTextEdit>
#include <QRadioButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
QPlainTextEdit *plainTextEdit;
QRadioButton *radioButton;
private slots:
void radioButtonClicked();
};
#endif
#include "mainwindow.h"
#include <QDir>
#include <QTextStream>
#include <QCoreApplication>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QDir::setCurrent(QCoreApplication::applicationDirPath());
this->setGeometry(0,0,800,480);
plainTextEdit = new QPlainTextEdit(this);
plainTextEdit->setGeometry(0,50,800,430);
radioButton = new QRadioButton(this);
radioButton -> setGeometry(650,20,100,20);
radioButton -> setText("只读模式");
QFile file("../moc_mainwindow.cpp");
file.open((QFile::ReadOnly | QFile::Text));
QTextStream in (&file);
plainTextEdit->insertPlainText(in.readAll());
connect(radioButton,SIGNAL(clicked(bool)),this,
SLOT(radioButtonClicked()));
}
MainWindow::~MainWindow() {}
void MainWindow::radioButtonClicked()
{
if(radioButton->isChecked()){
plainTextEdit->setReadOnly(true);
}else{
plainTextEdit->setReadOnly(false);
}
}
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}