QString fileName = QFileDialog::getOpenFileName( this, tr("open File"), QDir::currentPath(), tr("txt Files (*.txt)") );
QString sfilename = QFileDialog::getSaveFileName( this, tr("Save Document"), QDir::currentPath(), tr("Documents (*.doc)") );
#include "window.h"#include <QMenu>#include <QMenuBar>#include <QApplication>#include <QFileDialog>#include <QDesktopWidget>#include <QString>#include <QPushButton>#include <QList>string Data;int numLines;void center(QWidget &widget, int w, int h){ int x, y; int screenWidth; int screenHeight; QDesktopWidget *desktop = QApplication::desktop(); screenWidth = desktop->width(); screenHeight = desktop->height(); x = (screenWidth - w) / 2; y = (screenHeight - h) / 2; widget.move( x, y );}Window::Window(QWidget *parent) : QMainWindow(parent){ int WIDTH = 350, HEIGHT = 250; setFixedSize(WIDTH,HEIGHT); QPixmap openpix("pics/open.jpg"); QPixmap quitpix("pics/quit.jpg"); QAction *open = new QAction(openpix, "&Open", this); open->setShortcut(tr("CTRL+O")); QAction *quit = new QAction(quitpix, "&Close", this); quit->setShortcut(tr("CTRL+Q")); QMenu *file; file = menuBar()->addMenu("&File"); file->addAction(open); file->addSeparator(); file->addAction(quit); label1 = new QLabel("0", this); label1->setGeometry(5,20,350,30); label1->setText("Current file: None"); QPushButton *generate = new QPushButton("Generate htm file", this); generate->setGeometry(100, 50, 150, 40); center(*this, WIDTH,HEIGHT); connect(open, SIGNAL(triggered()), this, SLOT(OpenFile())); connect(quit, SIGNAL(triggered()), qApp, SLOT(quit())); connect(generate, SIGNAL(clicked()), this, SLOT(htmGenerator()));}void Window::OpenFile(){ //QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"",tr("TXT Files (*.txt)")); QString fileName = QFileDialog::getOpenFileName( this, tr("open File"), QDir::currentPath(), tr("txt Files (*.txt)") ); string name = fileName.toStdString(); int found=0; found=name.find_last_of("/\\"); QString filenam = QString::fromStdString(name.substr(found+1)); label1->setText("Current file: "+filenam); const char* fname; fname = name.c_str(); ifstream in(fname,ios::in); char ch; int Lines=0; while (!in.eof()) { ch = in.get(); if ((ch >= 32 && ch<=127) || ch == 10) Data = Data + ch; if (ch == 10) Lines++; } in.close(); numLines = Lines;}void Window::htmGenerator() //generates html file{ QList<string> Lines; /*QString l = QString::number(numLines,10); label1->setText(l);*/ int start=0, length=0; for (unsigned int i=0; i<Data.length(); i++) { char ch = Data[i]; length++; if (ch == 10) { Lines << Data.substr(start,length); start = i; length=0; } } //testing Lines list /*ofstream out("test.txt",ios::trunc); for (int i=0; i<Lines.size(); i++) out << Lines[i]; out.close();*/ QString sfilename = QFileDialog::getSaveFileName( this, tr("Save Document"), QDir::currentPath(), tr("Documents (*.doc)") );}
C++ (Qt)const QString fileName = QFileDialog::getOpenFileName( this, tr("open File"), QDir::currentPath(), tr("txt Files (*.txt)") );if (fileName.isEmpty ()) { return;}