#include <QtGui>int main (int argc, char** argv){ QApplication app(argc, argv); //============Устанавливаем кодировку============= QTextCodec* tc =QTextCodec::codecForName("utf-8"); QTextCodec::setCodecForTr(tc); QTextCodec::setCodecForCStrings(tc); QTextCodec::setCodecForLocale(tc); //============Создаем виджет======================== QWidget wdg; //============Создаем виджеты для табов======================== QWidget* wgdTab1 = new QWidget; QWidget* wgdTab2 = new QWidget; QWidget* wgdTab3 = new QWidget; //============Создаем кнопки======================== QPushButton* pb1 = new QPushButton("button 1/вырезать"); QPushButton* pb2_1 = new QPushButton("button 2_1"); QPushButton* pb2_2 = new QPushButton("button 2_2"); QPushButton* pb2_3 = new QPushButton("button 2_3"); QPushButton* pb3_1 = new QPushButton("button 3_1"); QPushButton* pb3_2 = new QPushButton("button 3_2"); QPushButton* pb3_3 = new QPushButton("button 3_3"); //============Создаем поля ввода текста======================== QTextEdit* te1 = new QTextEdit; QTextEdit* te2_1 = new QTextEdit; QTextEdit* te2_2 = new QTextEdit; QTextEdit* te2_3 = new QTextEdit; QTextEdit* te3_1 = new QTextEdit; QTextEdit* te3_2 = new QTextEdit; QTextEdit* te3_3 = new QTextEdit; //============Создаем контейнеры группировки======================== QGroupBox* gb1 = new QGroupBox("GroupBox 1"); QGroupBox* gb2 = new QGroupBox("GroupBox 2"); QGroupBox* gb3 = new QGroupBox("GroupBox 3"); //============Создаем вертикальный главный слой======================== QVBoxLayout* vboxLayout1 = new QVBoxLayout; //============Создаем слои лежащие в контейнерах======================== QVBoxLayout* vboxLayout2_1 = new QVBoxLayout; QVBoxLayout* vboxLayout2_2 = new QVBoxLayout; QVBoxLayout* vboxLayout2_3 = new QVBoxLayout; //============Создаем слои для TabWidget======================== QVBoxLayout* vboxLayout3_1 = new QVBoxLayout; QVBoxLayout* vboxLayout3_2 = new QVBoxLayout; QVBoxLayout* vboxLayout3_3 = new QVBoxLayout; //============Создаем горизонтальный слой на котором будут лежать ======================== //==========================контейнеры групировок================================ QHBoxLayout* hboxLayout1 = new QHBoxLayout; //============Создаем виджет закладок======================== QTabWidget* twgd1 = new QTabWidget; //=============Добавляем табы и устанавливаем на них виджеты========= twgd1->addTab(wgdTab1, "wgdTab1"); twgd1->addTab(wgdTab2, "wgdTab2"); twgd1->addTab(wgdTab3, "wgdTab3");// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //te1->setText("dddd агат угу"); te1->setHtml("one two free один два три"); QObject::connect(pb1, SIGNAL(clicked()), te1,SLOT(selectAll())); QObject::connect(pb1, SIGNAL(clicked()), te1,SLOT(cut())); te1->setHtml("one two free один два три"); QObject::connect(pb3_1, SIGNAL(clicked()), te3_1,SLOT(selectAll())); QObject::connect(pb3_1, SIGNAL(clicked()), te3_1,SLOT(paste())); //==================================================== //==================РАЗМЕЩЕНИЕ======================== //==================================================== // ---добавляем виджет PushButton (pb1) на главный вертикальный слой vboxLayout1->addWidget(pb1); // ---добавляем виджет TextEdit (te1) на главный вертикальный слой vboxLayout1->addWidget(te1); //----------------------------------------------------------- // ---добавляем виджеты GroupBox (gb1) на горизонтальный слой hboxLayout1->addWidget(gb1); hboxLayout1->addWidget(gb2); hboxLayout1->addWidget(gb3); // ---добавляем слой hboxLayout1 на слой vboxLayout1 vboxLayout1->addLayout(hboxLayout1); // ---добавляем QTabWidget (twgd1) на слой vboxLayout1 vboxLayout1->addWidget(twgd1); // ---Устанавливаем слой vboxLayout2_1 на QGroupBox (gb1) gb1->setLayout(vboxLayout2_1); // ---добавляем виджет QTextEdit (te2_1) vboxLayout2_1->addWidget(te2_1); // ---добавляем виджет QPushButton (pb2_1) vboxLayout2_1->addWidget(pb2_1); // ---Устанавливаем слой vboxLayout2_2 на QGroupBox (gb2) gb2->setLayout(vboxLayout2_2); // ---добавляем виджет QTextEdit (te2_2) vboxLayout2_2->addWidget(te2_2); // ---добавляем виджет QPushButton (pb2_2) vboxLayout2_2->addWidget(pb2_2); // ---Устанавливаем слой vboxLayout2_3 на QGroupBox (gb3) gb3->setLayout(vboxLayout2_3); // ---добавляем виджет QTextEdit (te2_3) vboxLayout2_3->addWidget(te2_3); // ---добавляем виджет QPushButton (pb2_3) vboxLayout2_3->addWidget(pb2_3); //============РАБОТА С ТАБАМИ================= wgdTab1->setLayout(vboxLayout3_1); wgdTab2->setLayout(vboxLayout3_2); wgdTab3->setLayout(vboxLayout3_3); vboxLayout3_1->addWidget(te3_1); vboxLayout3_2->addWidget(te3_2); vboxLayout3_3->addWidget(te3_3); vboxLayout3_1->addWidget(pb3_1); vboxLayout3_2->addWidget(pb3_2); vboxLayout3_3->addWidget(pb3_3); // ---Устанавливаем главный слой vboxLayout1 на QWidget (wdg) wdg.setLayout(vboxLayout1); // ---Устанавливаем заголовок окна wdg.setWindowTitle("one"); // ---Устанавливаем стиль окна wdg.setWindowFlags(Qt::Window); wdg.show(); return app.exec();}
QObject::connect(pb1, SIGNAL(clicked()), te1,SLOT(selectAll())); QObject::connect(pb1, SIGNAL(clicked()), te1,SLOT(cut()));
private slots: void on_pb1_clicked()
QFile file1 ("one"); if (file1.open(QIODevice::ReadOnly)) { QTextStream stream1(&file1); te3_1->setText(stream1.readAll()); file1.close(); }