QT只读表格

来源:互联网 发布:勤学网软件下载 编辑:程序博客网 时间:2024/05/22 11:45

#ifndef MAIN_DIALOG_H
#define MAIN_DIALOG_H

#include <QDialog>

class QLabel;
class QTextEdit;
class QPushButton;
class QVBoxLayout;
class QHBoxLayout;
class QString;
class QTableWidget;

#define ROW_NUM         4
#define COLUMN_NUM 2

class MainDialog:public QDialog
{
    Q_OBJECT
public:
    MainDialog(QWidget *parent = 0);
    //~mainDialog();
private:
    void InitUi();
 void InitSlots();
//signals:

public slots:
    void readFile(const QString &fileName);
 void inputInfotoEdit();
    void clearEdit();
public:
 QString m_strName;
 char m_int;
private:
    QLabel *m_label;
 QLabel *m_label2;
    QTextEdit *m_textEdit;
    QPushButton *m_okButton;
    QPushButton *m_cancleButton;
 QPushButton *m_cleanButton;
 QVBoxLayout *m_mainLayout;
 QVBoxLayout *m_layout1;
 QHBoxLayout *m_layout2;
    QTableWidget *m_table;
};

#endif //MAIN_DIALOG_H

 

=========================================================

#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QTextEdit>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QFile>
#include <QTableWidget>
#include <QHeaderView>
#include <string.h>
#include <stdlib.h>

#include "mainDialog.h"


MainDialog::MainDialog(QWidget *parent):
    m_strName(""),
    m_int(0)
{
    InitUi();
 InitSlots();
}

void MainDialog::readFile(const QString &fileName)
{
 QFile file(fileName);
 file.open(QIODevice::ReadOnly);
    return;
}

void MainDialog::clearEdit()
{
 m_strName.clear();
 m_textEdit->clear();
    return;
}

void MainDialog::inputInfotoEdit()
{
 m_strName.append("gaoqiao");
 m_textEdit->setText(m_strName);
    return;
}

void MainDialog::InitUi()
{
 m_label = new QLabel(MainDialog::tr("content:"));
 m_textEdit = new QTextEdit();
    m_okButton = new QPushButton(this->tr("OK"));
 m_cleanButton =  new QPushButton(this->tr("Clean"));
 m_cancleButton = new QPushButton(this->tr("Cancle"));
 m_table = new QTableWidget(ROW_NUM,COLUMN_NUM);  //新建一4行2列的表格

    m_mainLayout = new QVBoxLayout();
 m_layout1 = new QVBoxLayout();
 m_layout2 = new QHBoxLayout();

 m_layout1->addWidget(m_label);
 m_layout1->addWidget(m_textEdit);
 m_layout1->addWidget(m_table);

 m_layout2->addWidget(m_okButton);
 m_layout2->addWidget(m_cleanButton);
 m_layout2->addWidget(m_cancleButton);

 m_mainLayout->addLayout(m_layout1);
 m_mainLayout->addLayout(m_layout2);

 this->setLayout(m_mainLayout);

 setWindowTitle(MainDialog::tr("Text"));
 //this->setFixedHeight(sizeHint().height());
 //this->setFixedWidth(sizeHint().width());
 this->setFixedSize(306, 300);
 m_textEdit->setReadOnly(true);

 //tableWidget->verticalHeader()->setVisible(false); //隐藏列表头
    //tableWidget->horizontalHeader()->setVisible(false); //隐藏行表头
 m_table->verticalHeader()->setVisible(false); //隐藏列表头
 m_table->horizontalHeader()->setVisible(false);//隐藏行表头
    //tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
 m_table->setEditTriggers(QAbstractItemView::NoEditTriggers);
 //tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); //整行选中的方式
 m_table->setSelectionBehavior(QAbstractItemView::SelectRows);

 for (int j = 0; j < COLUMN_NUM;j++)
 {
  m_table->setColumnWidth(j,140);
 }

 for (int i = 0; i < ROW_NUM; i++)
 {
  m_table->setRowHeight(i,10);
 }
}

void MainDialog::InitSlots()
{
    connect(m_okButton, SIGNAL(clicked()), this, SLOT(inputInfotoEdit()));
 connect(m_cancleButton, SIGNAL(clicked()), this, SLOT(close()));
 connect(m_cleanButton, SIGNAL(clicked()), this, SLOT(clearEdit()));
}

===========================================

#include <QApplication>
#include "mainDialog.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainDialog mainUi;
    mainUi.show();
    return a.exec();
}

 

 

 

 

0 0
原创粉丝点击