国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

大三軟件工程小項目-小技術集合-Qt狀態(tài)欄設置

2019-11-06 06:25:34
字體:
來源:轉載
供稿:網友

服務端源碼下載地址為:

http://download.csdn.net/detail/QQ78442761/9768662

狀態(tài)欄是什么地方呢?

如下圖所示:

那么在Qt里面,這個狀態(tài)欄該怎么編寫呢?

在mainwindow.h如下(程序源碼打包,在文章的最頂端)

/* * 南京郵電大學通達學院 計算機科學與技術(嵌入式) * 142203  第六組實驗*/#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QLabel>#include <QString>#include <QSystemTrayIcon>#include <QCloseEvent>#include <QIcon>#include <QFile>#include <QFileDialog>#include <QIODevice>#include <QTextStream>#include <QPRocess>#include <QStringList>#include <QByteArray>#include "connMySQL.h"#include "currtime.h"#include "deleteDialogt.h"#include "docxml.h"#include "server.h"namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECTpublic:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();    void SetSystray();  //設置托盤程序    void closeEvent(QCloseEvent *event);    void SetBtn(bool state=false);      //設置按鈕狀態(tài)    void setStatusBar();    //設置狀態(tài)欄//socket讀取相關函數(shù)public slots:    void slotCreateServer();    void updateServer(QString mes,char*, int length);private slots:    int OnSystemTrayClicked(QSystemTrayIcon::ActivationReason reason);    int OnExit();           //退出程序    int OnOpen();           //打開程序    void LoginMysql();      //登錄Mysql    void SelectUser();      //查詢注冊用戶    void SelectRanking();   //查看排行榜    void DeleteUser();      //刪除用戶    void DeleteUserID(int ID);    //刪除用戶ID    void SaveLog();     //生成日志文件    void RunMYSQLProcess();  //打開外部MYSQL程序    void RunLOGProcess();     //打開LOG日志文件    void disLinkMysql();    //斷開數(shù)據(jù)庫    void AboutPro();        //關于程序private:    Ui::MainWindow *ui;    QLabel *statusLabel1;    //狀態(tài)欄運行時間圖標    QLabel *statusLabel2;    //狀態(tài)欄MYSQL是否連接    QSystemTrayIcon *m_systray;    //托盤程序    QMenu *SystemTrayMenu;  //托盤菜單    ConnMysql *Mysql;   //連接Mysql以及各種操作    QStringAndBool MysqlLinkValues; //Mysql連接狀態(tài)    DeleteDialog *deleteDig;    //刪除對話框    QProcess m_Process;     //打開外部程序    DOCXML *ProXML;     //獲取外部程序路徑    Server *server; //Tcp服務器    int port;   //端口};#endif // MAINWINDOW_H可以看到這樣的一個成員函數(shù)

    void setStatusBar();    //設置狀態(tài)欄他在mainwindow.cpp如下:

void MainWindow::setStatusBar(){    statusLabel1=new QLabel();    statusLabel2=new QLabel(tr("MySQL未連接"));    ui->statusBar->addWidget(statusLabel1);    ui->statusBar->addWidget(statusLabel2);    QString statusLabel1MSG="當前時間:";    QDateTime Currtime=QDateTime::currentDateTime();    QString CurrTimeStr=Currtime.toString("yyyy-MM-dd hh:mm:ss");    statusLabel1MSG.append(CurrTimeStr);    statusLabel1->setText(statusLabel1MSG);}所以,我們可以看到,Qt里面有個ui。那可以直接調用ui->statusBar->addWidget()這個函數(shù)來進行添加。

下面可以看到,這個時間是怎么怎么。

更具這樣的邏輯就可以實現(xiàn)獲取當前時間

    QString statusLabel1MSG="當前時間:";    QDateTime Currtime=QDateTime::currentDateTime();    QString CurrTimeStr=Currtime.toString("yyyy-MM-dd hh:mm:ss");    statusLabel1MSG.append(CurrTimeStr);    statusLabel1->setText(statusLabel1MSG);那么還有個問題。

這個時間不會動啊。。。

這個是此程序的一個缺陷。在此不此不在修改、

只提供如下的思路:

在這個頭文件里面

#include <QTimerEvent>重寫這個函數(shù)

    virtual void timerEvent(QTimerEvent* event);    //每2s檢測窗口這里要用一個成員變量

    int m_timerId; // 每個Timer有一個id在構造函數(shù)里面初始化m_timerEvent

    m_timerId = startTimer(2000);   //每2s檢查一次窗口然后重寫

    virtual void timerEvent(QTimerEvent* event);    //每2s檢測窗口這樣就可以實現(xiàn)時間的走動了。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 建昌县| 图木舒克市| 全椒县| 七台河市| 淮南市| 刚察县| 商都县| 桐梓县| 开原市| 梁平县| 泊头市| 江门市| 北流市| 鹤峰县| 舞钢市| 乡宁县| 涞源县| 英吉沙县| 巨鹿县| 磴口县| 松溪县| 理塘县| 阳西县| 苏尼特左旗| 班玛县| 民勤县| 大城县| 喀什市| 琼结县| 赤峰市| 轮台县| 揭阳市| 闸北区| 玛纳斯县| 甘德县| 辽阳市| 修水县| 牟定县| 包头市| 凉山| 安龙县|