Qt 主界面菜单栏和状态栏实现

来源:互联网 发布:vb 图片的放大缩小 编辑:程序博客网 时间:2024/05/17 03:55

因为之前一直用c#来着,最近项目需要跨平台

所以研究Qt发现上手也很快

学习QT学习到后面越发现Qt有些功能很强大

这里展示一个小demo,适合初学者高手绕行。。。

登陆界面

主界面:

代码部分:

复制代码
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include "QLabel.h"namespace Ui {    class MainWindow;}class  Action;class MainWindow : public QMainWindow {    Q_OBJECTpublic:    MainWindow(QWidget *parent = 0);    ~MainWindow();protected:    void changeEvent(QEvent *e);private:    Ui::MainWindow *ui;private slots:    void on_action_2_activated();private:        QAction *openAction;        QLabel *msgLabel;        QLabel *ztgLabel;        QLabel *zsgLabel;private slots:    void timerUpDate();};#endif // MAINWINDOW_H
复制代码
复制代码
#include "mainwindow.h"#include "ui_mainwindow.h"#include "QDesktopWidget.h"#include "QTextCodec.h"#include "QMessageBox.h"#include "frmdlg.h"#include "QDateTime.h"#include "QTimer.h"#include "QProgressBar.h"MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    this->resize(800,500);    //居中设置    QDesktopWidget* desktop = QApplication::desktop();    int width = desktop->width();    int height = desktop->height();    move((width - this->width())/2, (height - this->height())/2);    QTimer *timer = new QTimer(this);    //新建定时器    connect(timer,SIGNAL(timeout()),this,SLOT(timerUpDate()));    //关联定时器计满信号和相应的槽函数    timer->start(1000);    //状态栏初始化    QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );    msgLabel=new QLabel();    this->ui->statusBar->addPermanentWidget(msgLabel);    ztgLabel=new QLabel();    this->ui->statusBar->addWidget(ztgLabel);    QProgressBar *progressBar = new QProgressBar();    progressBar->setTextVisible( false );    progressBar->setRange(0,0);    this->ui->statusBar->addWidget(progressBar,1);//  QStatusBar的子组件的border设置为0,也就是没有边框//  statusBar()->setStyleSheet(QString("QStatusBar::item{border: 0px}"));}MainWindow::~MainWindow(){    delete ui;}void MainWindow::changeEvent(QEvent *e){    QMainWindow::changeEvent(e);    switch (e->type()) {    case QEvent::LanguageChange:        ui->retranslateUi(this);        break;    default:        break;    }}void MainWindow::on_action_2_activated(){    QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );    //MessageBox提示框    //QMessageBox::warning(this,tr("警告"),tr("用户名或密码错误!"),QMessageBox::Yes);    //打开子窗体    FrmDlg *dlg=new FrmDlg();    dlg->show();}void MainWindow::timerUpDate(){    QTextCodec::setCodecForTr( QTextCodec::codecForName("GBK") );    QDateTime time = QDateTime::currentDateTime();    //获取系统现在的时间    QString str = time.toString("yyyy-MM-dd hh:mm:ss ddd"); //设置显示格式    //设置系统时间显示格式    ui->label->setText(str);    //在标签上显示时间    ui->label_2->setText(tr("每秒产生一个随机数:%1").arg(qrand()%10));    ztgLabel->setText(tr("通信状态:%1").arg(qrand()%10));    msgLabel->setText(str);}
复制代码

不做解释,代码基本都有注释!

作者:江南烟雨居
出处:http://www.cnblogs.com/newstart//
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 机动车年检丢了怎么办 汽车保险标志丢了怎么办 车辆年检贴丢失怎么办 车检标贴丢了怎么办 检验标贴丢了怎么办 小车换年检标志怎么办 职称证忘记审验怎么办 联合年报没报怎么办 职称年审过期了怎么办 嘉兴驾模预约怎么办 电大考试去不了怎么办 负债高怎么办房贷 宁波鄞州银行卡怎么办 硕士学位实验数据不好怎么办 小区外过车很吵怎么办 建筑物初级消防证书怎么办 毕业答辩去不了怎么办 卡波西水痘样疹怎么办 58企业认证失败怎么办 炸鸡店没生意怎么办 你好漂亮重名了怎么办 医保卡被冒用怎么办 理财钱被骗走怎么办 个体户怎么办三方协议 社保户籍错了怎么办 身份证号码变更后驾驶证怎么办 公司倒闭欠工资怎么办 海南买房要社保怎么办? 工商核名不过怎么办 税局要求查账怎么办 完税凭证丢了怎么办 开票开错了怎么办 上海居住证搬家了怎么办 上海无户口 医保怎么办 淘宝账号注销不了怎么办 淘宝账号被覆盖怎么办 淘宝号注册不了怎么办 appleid密码忘了怎么办 蘑菇街用白富美后忘记账号怎么办 不知道宽带账号怎么办 上网用户名忘了怎么办