国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

這篇具有很好參考價(jià)值的文章主要介紹了Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、軟件功能及涉及知識(shí)

1、實(shí)現(xiàn)不同功能之間的界面切換

2、可查看日歷

3、可實(shí)現(xiàn)計(jì)時(shí)器功能

4、可實(shí)現(xiàn)計(jì)算器功能

5、ui界面及按鈕部件背景的設(shè)置

6、為軟件設(shè)置圖標(biāo)

7、程序打包成軟件

二、效果演示

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?三、實(shí)現(xiàn)過程

1、創(chuàng)建工程

? ? ? ? New Project -> Application -> Qt Widgets Application然后下一步,使用ui界面文件能省去很多步驟。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?點(diǎn)擊下一步、完成就創(chuàng)建好了一個(gè)包含.h、.cpp、.ui文件的工程。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

因?yàn)槲覀冊(cè)诓煌慕缑嫔戏謩e實(shí)現(xiàn)查看日歷、計(jì)時(shí)器、計(jì)算器的功能,所以還需要在工程里創(chuàng)建兩個(gè).h、.cpp、.ui文件,過程如下。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?直接下一步、完成就創(chuàng)建成功,在以同樣的方式添加一個(gè)類名為MainWindow3的文件,結(jié)果如下。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

2、工程創(chuàng)建成功,開始實(shí)現(xiàn)功能

首先要確定好在哪個(gè)文件里實(shí)現(xiàn)什么功能,我這里是在MainWindow里實(shí)現(xiàn)查看日歷功能,在MainWindow2里面實(shí)現(xiàn)計(jì)時(shí)器功能,在MainWindow3里面實(shí)現(xiàn)計(jì)算器功能。

然后就在對(duì)應(yīng)的文件里去添加需要的控件并對(duì)界面進(jìn)行合適的布局(這樣到時(shí)候控件就能隨著窗口的大小而變化),我的布局如下。

日歷界面:

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?計(jì)時(shí)器界面:

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

計(jì)算器界面:

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?需要注意每個(gè)控件對(duì)象的名稱要記住不能搞混,可以在右下角的屬性面板對(duì)應(yīng)的objectName里查看或修改,但控件要顯示的名字或內(nèi)容可以直接點(diǎn)擊控件編輯。

3、準(zhǔn)備好這一切我們就開始編寫程序

第一步、先實(shí)現(xiàn)實(shí)現(xiàn)三個(gè)界面之間可以相互切換

在上一步添加按鈕的時(shí)候,可以直接右鍵點(diǎn)擊對(duì)應(yīng)的按鈕,然后點(diǎn)擊轉(zhuǎn)到槽,因?yàn)橐獙?shí)現(xiàn)點(diǎn)擊按鈕的時(shí)候發(fā)現(xiàn)對(duì)應(yīng)的反應(yīng),所以下一步選擇clicked(),最后點(diǎn)擊ok就會(huì)在.cpp文件中生成對(duì)應(yīng)按鈕的槽函數(shù),還會(huì)在.h頭文件里自動(dòng)申明,我們只需要在槽函數(shù)里添加要實(shí)現(xiàn)的功能的代碼就可以了,代碼如下。

mainwindow.cpp

void MainWindow::on_pushButton_clicked()//計(jì)時(shí)器按鈕生成的槽函數(shù)
{
    MainWindow2 *mainwindow2=new MainWindow2;//為 MainWindow2 窗口創(chuàng)建一個(gè)名字,方便操作它
    this->close();//點(diǎn)擊計(jì)時(shí)器按鈕時(shí)關(guān)閉當(dāng)前界面
    mainwindow2->show();//打開窗口 mainwindow2(計(jì)時(shí)器)界面
}

void MainWindow::on_pushButton_4_clicked()//計(jì)算器按鈕的槽函數(shù)
{
    MainWindow3 *mainwindow3=new MainWindow3;
    this->close();//點(diǎn)擊計(jì)算器按鈕時(shí)關(guān)閉當(dāng)前界面
    mainwindow3->show();//打開窗口 mainwindow3(計(jì)算器)界面
}

mainwindow2.cpp

void MainWindow2::on_pushButton_clicked()//日歷按鈕生成的槽函數(shù)
{
    MainWindow *mainwindow=new MainWindow;
    this->close();//點(diǎn)擊日歷按鈕后關(guān)閉當(dāng)前界面
    mainwindow->show();//進(jìn)入mainwindow(日歷)界面
}

void MainWindow2::on_pushButton_2_clicked()//計(jì)算器按鈕的槽函數(shù)
{
    MainWindow3 *mainwindow3=new MainWindow3;
    this->close();//點(diǎn)擊計(jì)算器按鈕后關(guān)閉當(dāng)前界面
    mainwindow3->show();//進(jìn)入mainwindow3(計(jì)算器)界面
}
}

mainwindow3.cpp

void MainWindow3::on_pushButton_clicked()//日歷按鈕的槽函數(shù)
{
    MainWindow2 *mainwindow2=new MainWindow2;
    this->close();//點(diǎn)擊計(jì)時(shí)器按鈕時(shí)關(guān)閉當(dāng)前界面
    mainwindow2->show();//打開mainwindow2(計(jì)時(shí)器)界面
}

void MainWindow3::on_pushButton_3_clicked()//計(jì)時(shí)器按鈕生成的槽函數(shù)
{
    MainWindow *mainwindow=new MainWindow;
    this->close();//點(diǎn)擊日歷按鈕時(shí)關(guān)閉當(dāng)前界面
    mainwindow->show();//打開mainwindow(日歷)界面
}

不要忘了需要在對(duì)應(yīng)的文件里添加需要切換界面對(duì)應(yīng)的頭文件。

第二步、每個(gè)窗口對(duì)應(yīng)的功能

日歷界面的功能比較簡(jiǎn)單,只是顯示日歷,只需要在ui文件中添加一個(gè)Calendar Widget部件就可以了。?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

計(jì)時(shí)器界面需要使用到QTimer類,需要添加代碼如下。

mainwindow2.h

#include <QTime>
#include <QTimer>
QTime *time;
QTimer *timer;

mainwindow2.cpp

time = new QTime;
timer = new QTimer;//創(chuàng)建一個(gè)定時(shí)器
ui->Timer->setDigitCount(8);//數(shù)碼管需要顯示8個(gè)
initTime();
connect(timer,SIGNAL(timeout()),this,SLOT(updateTime()));//信號(hào)與槽
connect(ui->pbStart,SIGNAL(clicked()),this,SLOT(pbStart_clicked()));//信號(hào)與槽
void MainWindow2::initTime()//
{
    time->setHMS(0,0,0);//設(shè)置初值
    ui->Timer->display(time->toString("hh:mm:ss"));
}
void MainWindow2::updateTime()//開始計(jì)時(shí)
{
    *time=time->addSecs(1);//每次增加1
    ui->Timer->display(time->toString("hh:mm:ss"));
}
void MainWindow2::pbStart_clicked()//start按鈕生成的槽函數(shù)
{
    if(QString::compare(ui->pbStart->text(),"stop"))
    {
        initTime();//每次開始前初始化
        timer->start(1000);//每次增加時(shí)間為一秒
        ui->pbStart->setText("stop");
    }
    else
    {
        timer->stop();
        ui->pbStart->setText("start");
        //initTime();
    }
}

計(jì)算器界面,按鍵比較多,設(shè)置按鍵類名的時(shí)候盡量設(shè)計(jì)的與它的功能相近,不然寫功能的時(shí)候可能會(huì)寫亂,然后按鈕轉(zhuǎn)到槽,再編寫每個(gè)按鈕對(duì)應(yīng)的功能,由于該部分代碼比較多部分代,這里先展示一部分,完整代碼后面打包發(fā)出。

mainwindow3.h

//在私有成員變量里定義號(hào)需要用到的變量
QString process;
float result;
QString S;
QString Sresult;
float sum;
int choose;
int stat;
int dot;

mainwindow3.cpp

    ui->textEdit_show->setText("請(qǐng)輸入:");//開始時(shí)輸入框中顯示“請(qǐng)輸入:”
//初始化定義好的變量
    process="";
    result = 0;
    S = "";
    stat = 0;
    choose = 0;
    sum = 0;
    dot = 0;
void MainWindow3::on_pushButton_zero_clicked()//按鈕0生成的槽函數(shù),點(diǎn)擊0時(shí)在原來的內(nèi)容上加上數(shù)字0
{
    if (-1 == stat)
       {
           result = sum;
           on_pushButton_clear_clicked();
       }
       if (0 == choose)
       {
           S += "0";
           ui->textEdit_show->setText(S);
       }
       else if (0 != choose)
       {
         process += "0";
         ui->textEdit_show->setText(process);
       }
}

數(shù)字按鈕1~9的功能代碼相似,都是在原來的內(nèi)容上加上對(duì)應(yīng)的數(shù)字。

void MainWindow3::on_pushButton_sum_clicked()//實(shí)現(xiàn)加法
{
    if (0 == stat || -1 == stat)
        {
            ui->textEdit_show->append("+");
        }
        sum = result;
        stat = 1;
        choose = 1;
        dot = 0;
}

void MainWindow3::on_pushButton_sub_clicked()//減法
{
    if (0 == stat || -1 == stat)
        {
            ui->textEdit_show->append("-");
        }
        sum = result;
        stat = 1;
        choose = 2;
        dot = 0;
}

void MainWindow3::on_pushButton_mul_clicked()//乘法
{
    if (0 == stat || -1 == stat)
        {
            ui->textEdit_show->append("*");
        }
        sum = result;
        stat = 1;
        choose = 3;
        dot = 0;
}

void MainWindow3::on_pushButton_div_clicked()//除法
{
    if (0 == stat || -1 == stat)
        {
            ui->textEdit_show->append("/");
        }
        sum = result;
        stat = 1;
        choose = 4;
        dot = 0;
}

void MainWindow3::on_pushButton_dot_clicked()//小數(shù)點(diǎn)
{
    if (0 == dot)
       {
           if (0 == choose)
           {
               S += ".";
               ui->textEdit_show->setText(S);
           }
           else if (0 != choose)
           {
               process += ".";
               ui->textEdit_show->setText(process);
           }
       }
       stat = 1;
       dot = 1;
}

void MainWindow3::on_pushButton_equal_clicked()//等于
{
    switch (choose) {
        case 1:
           result += S.toFloat() + process.toFloat();
           sum = result;

           Sresult = QString("%1").arg(result);
           ui->textEdit_show->setText(Sresult);
            break;
        case 2:
            result += S.toFloat() - process.toFloat();
            sum = result;
            Sresult = QString("%1").arg(result);
            ui->textEdit_show->setText(Sresult);
            break;
        case 3:
            if (0 == sum)
            {
                result = 1;
            }
            else
            {
                result = sum;
            }
            if (S.toFloat()*process.toFloat() != 0)
            {
                result*= S.toFloat()*process.toFloat();
                qDebug() << result << "" << sum;
            }
            else
            {
                result*= (S.toFloat() + process.toFloat());
                qDebug() << result << "" << sum;
            }
            sum = result;
            Sresult = QString("%1").arg(result);
            ui->textEdit_show->setText(Sresult);
            break;
        case 4:
            if (0 == process.toFloat())
            {
                ui->textEdit_show->setText("system error!");
                QTimer::singleShot(1000,this,SLOT(on_pushButton_clear_clicked()));
                break;
            }
            if (0 == sum)
            {
                result = 1;
            }
            else
            {
                result = sum;
            }
            if (S.toFloat()/process.toFloat() != 0)
            {
                result = S.toFloat()/process.toFloat();
                qDebug() << result << "" << sum;
            }
            else
            {
                result /= (S.toFloat() + process.toFloat());
                qDebug() << result << "" << sum;
            }
            sum = result;
            Sresult = QString("%1").arg(result);
            ui->textEdit_show->setText(Sresult);
            break;
        }
        sum = result;
        stat = -1;//如果剛按了等號(hào)又按數(shù)字,相當(dāng)于做一次AC,如果按了等號(hào)再按加號(hào),就繼續(xù)計(jì)算
        choose = 0;//告訴程序類重新接受運(yùn)算符
        S = "";
        process = "";
        //因?yàn)橐B續(xù)計(jì)算,所以不將過程值清零
}

void MainWindow3::on_pushButton_backspace_clicked()//退格
{
    if (0 == choose)
        {
            S.chop(1);//退一格
            ui->textEdit_show->setText(S);
        }
        else if (0 != choose)
        {
            process.chop(1);
            ui->textEdit_show->setText(process);
        }
}

void MainWindow3::on_pushButton_clear_clicked()//清零
{
    result = 0;
       S = "";
       process = "";
       stat = 0;
       choose = 0;
       ui->textEdit_show->setText("請(qǐng)輸入:");
       dot = 0;
}

void MainWindow3::on_pushButton_exit_clicked()//退出
{
    close();//直接關(guān)閉當(dāng)前界面
}

第三步、對(duì)每個(gè)窗口和控件進(jìn)行美化

給每個(gè)界面設(shè)置一個(gè)背景圖片,首先和添加ui/h文件的方式相似,鼠標(biāo)右擊工程,添加新文件,后面步驟如下。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?接著下一步、完成,然后右擊剛才生成的文件 -> 添加現(xiàn)有文件 -> 自動(dòng)打開文件之后,在里面新建一個(gè)文件,選擇它打開并在里面放如我們想用的背景圖片點(diǎn)擊打開后選擇Yes to All。

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?目錄上就有了剛剛選擇的圖片。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?有了圖片就可以到ui文件去進(jìn)行設(shè)置,右擊界面的空白處 -> 改變樣式表 -> 下拉添加資源選擇background-image -> Picture->選擇圖片 -> OK。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

添加#MainWindow2表示設(shè)置為該界面主窗口的背景。

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?然后還可以設(shè)置一下按鈕的背景或顏色,做法和設(shè)置界面背景一樣但設(shè)置顏色的話就下拉添加顏色。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?第四步、為軟件添加一個(gè)圖標(biāo),使他看起來更像一個(gè)應(yīng)用程序。

注意圖標(biāo)必須是以ioc為后綴的圖片,操作方式如下。

在工程目錄里添加我們想要的圖標(biāo)。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

在.pro文件中進(jìn)行以下操作。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?到這里,程序就完成的差不多了。

四、將程序打包成軟件

1、把工程編譯模式從debug調(diào)到release模式下,然后編譯。
Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?2、找到工程存放位置下,有一個(gè)release的文件夾,子文件下有個(gè)release的文件,其中就會(huì)生成一個(gè)后綴為exe的可執(zhí)行文件。

3、進(jìn)行封包操作,將運(yùn)行程序和它需要的動(dòng)態(tài)鏈接庫(kù)封裝在一起。步驟:
(1)、在英文路徑下創(chuàng)建一個(gè)文件夾aaa(文件夾名稱也要是英文的),然后找到剛才編譯生成的exe文件,并將它拷貝到新創(chuàng)建的文件aaa下。(如果你雙擊執(zhí)行這個(gè)程序,你會(huì)發(fā)現(xiàn)系統(tǒng)提示沒有缺少的dll文件)
(2)、利用QT的windeployqt工具導(dǎo)入程序所需要的文件和資源。(這個(gè)程序可以直接在電腦右下角搜索qt,選擇有一個(gè)黑色面板的那個(gè))
Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?在這之前需要先復(fù)制一份剛剛新建的文件夾aaa的錄進(jìn)。

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?然后先進(jìn)入文件所在的系統(tǒng)盤,我是放在桌面的就去c盤,c:加上回車鍵就可以了。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

然后粘貼上剛才復(fù)制的文件路徑回車。

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?在路徑后面加上“windeployqt 程序名.exe”,回車進(jìn)行封包操作

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?3、打包完成后,就和我們平時(shí)看到的軟件一樣了,可以在文件夾下直接打開那個(gè)文件了。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?4、如果覺得文件太多,我們可以使用第三方工具將所有文件打包成一個(gè),我這里使用的是Enigma Virtual Box。

先找到文件并打開。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?下一步。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?選擇裝整個(gè)程序的文件夾并確認(rèn)。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?點(diǎn)擊Files Ootions后勾上Compress? Files可以將文件壓縮小一點(diǎn)。Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?最后點(diǎn)擊Process開始打包成一個(gè)文件。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?最后直接關(guān)閉,我們就可以在原來程序的文件里看到一個(gè)大概20兆的應(yīng)用程序,就是剛才打包好的一個(gè)完整的應(yīng)用程序(我這里將它重命名了桌面助手),可以直接放在桌面上打開。

Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

?Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手

五、總結(jié)

?到這里這個(gè)應(yīng)用程序就算是徹底完成了,通過這個(gè)項(xiàng)目也讓我學(xué)習(xí)到了很多東西,只有自己動(dòng)手了才發(fā)現(xiàn)原來自己也沒那么差,之前是真沒想到自己能做出東西來,也很感謝容容老師的教導(dǎo)和鼓勵(lì)。最后希望這篇文章能對(duì)各位有所幫助,完整的工程文件和打包工具我會(huì)后面補(bǔ)上。

工程文件(包含源碼和桌面助手應(yīng)用程序文件):

https://download.csdn.net/download/qq_51064962/86806762

第三方打包工具Enigma Virtual Box:https://download.csdn.net/download/qq_51064962/86806787文章來源地址http://www.zghlxwxcb.cn/news/detail-474106.html

到了這里,關(guān)于Qt實(shí)現(xiàn)一個(gè)簡(jiǎn)單的應(yīng)用程序——桌面助手的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 實(shí)現(xiàn)Web頁(yè)面與桌面應(yīng)用程序之間的交互
  • Qt數(shù)據(jù)可視化示例01-顯示實(shí)時(shí)音頻數(shù)據(jù)的簡(jiǎn)單應(yīng)用程序

    Qt數(shù)據(jù)可視化示例01-顯示實(shí)時(shí)音頻數(shù)據(jù)的簡(jiǎn)單應(yīng)用程序

    audiolevels 示例顯示實(shí)時(shí)音頻數(shù)據(jù)的簡(jiǎn)單應(yīng)用程序。示例從麥克風(fēng)讀取音頻電平, 并在條形圖中顯示這些電平。為了增加用于演示目的的負(fù)載,并使圖形更漂亮, 使用稍作修改的數(shù)據(jù)來填充多行。 作為Qt 數(shù)據(jù)可視化的第一個(gè)示例,我們忽略數(shù)據(jù)源的獲取,主要關(guān)注數(shù)據(jù)的呈現(xiàn)

    2024年01月18日
    瀏覽(20)
  • C++QT教程3——手冊(cè)4.11.1自帶教程(筆記)——?jiǎng)?chuàng)建一個(gè)基于Qt Widget的應(yīng)用程序

    C++QT教程3——手冊(cè)4.11.1自帶教程(筆記)——?jiǎng)?chuàng)建一個(gè)基于Qt Widget的應(yīng)用程序

    本教程介紹如何使用Qt Creator創(chuàng)建一個(gè)小型Qt應(yīng)用程序,名為Text Finder。它是Qt UI工具中Text Finder示例的簡(jiǎn)化版本。應(yīng)用程序的用戶界面是使用Qt Designer通過Qt小部件構(gòu)建的。應(yīng)用程序邏輯是通過使用代碼編輯器編寫的C++代碼。 選擇文件 新建文件或項(xiàng)目 應(yīng)用程序 Qt Widgets應(yīng)用程序

    2024年02月13日
    瀏覽(20)
  • Qt 實(shí)現(xiàn)應(yīng)用程序單實(shí)例

    目前使 Qt 運(yùn)行一個(gè)實(shí)例有如下幾種方式: 1.QSharedMemory 使用共享內(nèi)存,當(dāng)?shù)诙€(gè)進(jìn)程啟動(dòng)時(shí),判斷內(nèi)存區(qū)數(shù)據(jù)是否建立,如有,則退出;這種方式有弊端,在程序發(fā)生崩潰時(shí),未及時(shí)清除共享區(qū)數(shù)據(jù),導(dǎo)致程序不能正常啟動(dòng)。 2.文件鎖 在程序運(yùn)行的時(shí)候就在目錄下創(chuàng)建一個(gè)文

    2024年02月10日
    瀏覽(24)
  • Fast DDS(1)編寫一個(gè)簡(jiǎn)單的C++發(fā)布者和訂閱者應(yīng)用程序

    ????????本次我們?cè)敿?xì)介紹如何使用C++API逐步創(chuàng)建一個(gè)簡(jiǎn)單的Fast DDS應(yīng)用程序,其中包含發(fā)布者和訂閱者。也可以使用eProsima Fast DDS-Gen工具自行生成與本節(jié)中實(shí)現(xiàn)的示例相類似的示例。在構(gòu)建發(fā)布/訂閱應(yīng)用程序中解釋了這種附加方法。 ???????1.3.1? 背景介紹 ???

    2024年02月12日
    瀏覽(26)
  • Nest的基本概念,以及如何使用Nest CLI來構(gòu)建一個(gè)簡(jiǎn)單的Web應(yīng)用程序

    Nest是一個(gè)用于構(gòu)建高效、可擴(kuò)展的Node.js服務(wù)器端應(yīng)用程序的框架。它是基于Express.js構(gòu)建的,并且提供了多種新特性和抽象層,可以讓開發(fā)者更加輕松地構(gòu)建復(fù)雜的應(yīng)用程序。 本文將介紹Nest的基本概念,以及如何使用Nest CLI來構(gòu)建一個(gè)簡(jiǎn)單的Web應(yīng)用程序。 模塊 在Nest中,模塊

    2024年02月02日
    瀏覽(28)
  • Qt布局實(shí)戰(zhàn):實(shí)現(xiàn)高效、美觀的GUI應(yīng)用程序

    Qt是一個(gè)跨平臺(tái)的GUI應(yīng)用程序開發(fā)框架,提供了豐富的UI控件和布局管理器來實(shí)現(xiàn)應(yīng)用程序的用戶界面設(shè)計(jì)。Qt的布局管理器(layout manager)是一種將控件組織在容器中的機(jī)制,可以自動(dòng)調(diào)整控件的位置和大小,以適應(yīng)不同的窗口大小和屏幕分辨率。在Qt中,常用的布局管理器包

    2023年04月18日
    瀏覽(22)
  • 微信小程序?qū)崿F(xiàn)一個(gè)電影信息查詢的應(yīng)用程序

    這個(gè)示例展示了一個(gè)電影信息查詢應(yīng)用程序,包括一個(gè)輸入框和一個(gè)查詢按鈕,用于查詢指定電影的詳細(xì)信息。在下方顯示了電影的海報(bào)、標(biāo)題、評(píng)分、類型和簡(jiǎn)介。 到這里也就結(jié)束了,希望對(duì)您有所幫助。

    2024年02月03日
    瀏覽(28)
  • Spring是一個(gè)開源的Java開發(fā)框架,它提供了一種快速、簡(jiǎn)單的方式來開發(fā)企業(yè)級(jí)應(yīng)用程序

    Spring是一個(gè)開源的Java開發(fā)框架,它提供了一種快速、簡(jiǎn)單的方式來開發(fā)企業(yè)級(jí)應(yīng)用程序

    Spring是一個(gè)開源的Java開發(fā)框架,它提供了一種快速、簡(jiǎn)單的方式來開發(fā)企業(yè)級(jí)應(yīng)用程序。Spring的主要優(yōu)點(diǎn)包括簡(jiǎn)化Java EE開發(fā)、提供依賴注入和面向切面編程等功能。以下是Spring的一些核心特性: 依賴注入(DI):Spring通過DI機(jī)制,將對(duì)象的依賴關(guān)系注入到應(yīng)用程序中,簡(jiǎn)化了

    2024年02月03日
    瀏覽(99)
  • Qt中的配置文件:實(shí)現(xiàn)個(gè)性化應(yīng)用程序配置與保存加載

    在現(xiàn)代軟件開發(fā)中,用戶對(duì)于應(yīng)用程序的個(gè)性化配置和設(shè)置變得越來越重要。為了滿足用戶需求并提供更好的用戶體驗(yàn),開發(fā)人員常常需要實(shí)現(xiàn)一種機(jī)制,以便在每次啟動(dòng)應(yīng)用程序時(shí)能夠記住用戶上次的配置。這樣用戶就可以方便地恢復(fù)到他們熟悉的環(huán)境,無需重新進(jìn)行所有

    2024年02月11日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包