Archive for September, 2013

基于Qt Framework的QNotead

September 21st, 2013

今天是中秋的第三天。闲来无事所以编了个QNotePad

由于Qt为我们我们提供了大量优质的API,所以我们只要学习了解了这些函数,就可以快速开发出一款属于自己的note++

这个东西的精髓在于Open Save SaveAs的处理。

我们可以使用QTextEdit空间,然后配合QTextStream使用.
另外我们要主要的一点就是Qt中reasource的使用。我们要先建立资源文件,然后倒入resource,最后在qt designer中加载 图标。 除此之外就是menubar的使用。我们可以把菜单中的图标放在menubar中,这样可以方便操作。

Key Code:

void MainWindow::on_actionOpen_triggered()
{
    QString file = QFileDialog::getOpenFileName(this,"Open a file");

    if(!file.isEmpty())
    {
        QFile mFile(file);
        if(mFile.open(QFile::ReadOnly | QFile::Text))
        {
            mFileName = file;
             this->setWindowTitle(mFileName);
            QTextStream in(&mFile);
            QString text = in.readAll();

            mFile.close();

            ui->textEdit->setPlainText(text);

        }
    }
}

void MainWindow::on_actionSave_triggered()
{
    QFile mFile(mFileName);
    if(mFile.open(QFile::WriteOnly | QFile::Text))
    {
        QTextStream out(&mFile);
        this->setWindowTitle(mFileName);
        out << ui->textEdit->toPlainText();

        mFile.flush();
        mFile.close();
    }
}

void MainWindow::on_actionSave_As_triggered()
{
    QString file = QFileDialog::getSaveFileName(this,"Save a file");
    if(!file.isEmpty())
    {
        mFileName = file;
        on_actionSave_triggered();
    }
}

2013-09-21 16:10:24的屏幕截图

DOT

Git和GitHub使用总结

September 17th, 2013

git克隆项目(下载代码)

git clone [email protected]:lzz235/****.git
git clone [email protected]:lzz235/*****.git

Qt学习之路——QUDP

September 13th, 2013

UDP不用怎么介绍吧,算了。。。。还是写出来好了。。。。。
» Read more: Qt学习之路——QUDP

Qt学习之路——Asynchronous QTcpServer with QThreadPool

September 13th, 2013

上一节,我们学习了QTcpSocket using multiple thread ,但是我们都知道Server一般都要维持大量的connections,导致Server需要频繁的申请分配内存等资源,如果我们使用ThreadPool,一次性分配一定量的资源,这样就避免了频繁的资源申请销毁。 » Read more: Qt学习之路——Asynchronous QTcpServer with QThreadPool

Qt学习之路——QTcpSocket using multiple thread

September 11th, 2013

之前在暑假我学习了QThead类,只要我们继承这个类,就可以轻松地创建多线程函数。 » Read more: Qt学习之路——QTcpSocket using multiple thread