日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

3.关于QT中的MainWindow窗口,MenuBar,ToolBar,QuickTip等方面的知识点

發(fā)布時間:2024/9/27 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.关于QT中的MainWindow窗口,MenuBar,ToolBar,QuickTip等方面的知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1 新建一個空Qt項目

編寫12MainWindow.pro

HEADERS += \

??? MyMainWindow.h \

??? MyView.h

?

SOURCES += \

??? MyMainWindow.cpp \

??? MyView.cpp

QT += gui widgets

MyView.h

#ifndef MYVIEW_H #define MYVIEW_H ? #include <QWidget> ? class MyView:public QWidget{ ??? Q_OBJECT public: ??? explicit MyView(QWidget *parent = 0); ??? void paintEvent(QPaintEvent *); ? signals: ? public slots: ? }; ? #endif // MYVIEW_H

MyView.cpp

#include "MyView.h" #include <QPainter> ? MyView::MyView(QWidget *parent): ??? QWidget(parent) { } ? void MyView::paintEvent(QPaintEvent *) { ??? QPainter p(this); ??? p.fillRect(rect(),Qt::red); }

MyMainWindow.h

#ifndef MYMAINWINDOW_H #define MYMAINWINDOW_H ? #include <QMainWindow> #include <QLabel> #include "MyView.h" #include <QSystemTrayIcon>? //通過這個頭文件可以讓程序在狀態(tài)欄顯示icon ? class MyMainWindow:public QMainWindow { ??? Q_OBJECT public: ??? explicit MyMainWindow(QWidget *parent = 0); ? ??? QLabel* _label; ??? MyView* _view; ? ??? QSystemTrayIcon* _icon; ? ??? void paintEvent(QPaintEvent *); ??? void mousePressEvent(QMouseEvent *); ? ??? QMenu* _menu; ??? bool event(QEvent *event); ??? bool eventFilter(QObject *, QEvent *); ? signals: ? public slots: ??? void slotOpen(); ??? void slotActivated(QSystemTrayIcon::ActivationReason); }; ? #endif // MYMAINWINDOW_H

MyMainWindow.cpp

#include "MyMainWindow.h" #include <QApplication> ? #include <QMenu> #include <QMenuBar> #include <QAction> #include <QDebug> #include <QFileDialog> #include <QToolBar> #include <QStatusBar> #include <QLabel> #include <QPixmap> #include <QPainter> #include <QMouseEvent> #include <QCursor> #include <QIcon> ? MyMainWindow::MyMainWindow(QWidget *parent): ??? QMainWindow(parent) { ??? /*加菜單*/ ??? QMenuBar* pMenuBar = menuBar(); ??? QMenu* menu = pMenuBar->addMenu("&File"); ??? _menu = menu; ??? QAction* openAction = menu->addAction("&Open", this, SLOT(slotOpen()), QKeySequence::Open); ??? QAction* saveAction = menu->addAction("&Save", this, SLOT(slotOpen()), QKeySequence::Save); ? ??? menu->addSeparator(); ??? QAction* closeAction = menu->addAction("&Exit", this, SLOT(close()), QKeySequence::Close); ??? closeAction->setToolTip("close window"); ? ??? /*toolbar 添加工具欄*/ ??? QToolBar* toolBar = this->addToolBar("MyToolBar"); ??? toolBar->addAction(openAction); ??? toolBar->addAction(saveAction); ??? toolBar->addAction(closeAction); ? ??? /* status bar*/ ??? QStatusBar* pStatusBar = this->statusBar(); ??? pStatusBar->addWidget(_label = new QLabel("OK")); ? ??? _label->setText("<font color=red>Processing...</font>"); ? ??? /* 別的控件占用了之后,剩下的區(qū)域都是CentralWidget */ ??? _view = new MyView; ??? this->setCentralWidget(_view); ? ??? //system tray icon ??? _icon = new QSystemTrayIcon; ??? _icon->setIcon(QIcon("../bing.ico")); ??? _icon->setToolTip("This is tray icon test"); ??? _icon->show(); ??? _icon->setContextMenu(_menu); ? ??? connect(_icon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), ??????????????? this, SLOT(slotActivated(QSystemTrayIcon::ActivationReason))); ? ??? this->installEventFilter(this); } ? void MyMainWindow::slotActivated(QSystemTrayIcon::ActivationReason reason) { ??? if(reason == QSystemTrayIcon::Trigger) ??? { ??????? if(this->isHidden()) this->show(); ??????? else this->hide(); ??? } } ? /** * @brief MyMainWindow::eventFilter * @param o * @param e * @return 消息過濾器 */ bool MyMainWindow::eventFilter(QObject *o, QEvent *e) { ??? if(o == (QObject *)this && e->type() == QEvent::Close) ??? { ??????? return true; ??? } ? ??? return QMainWindow::eventFilter(o, e); } ? bool MyMainWindow::event(QEvent *ev) { ??? qDebug() << ev; ??? if(ev->type() == QEvent::Close) ??? { ??????? return false; ??? } ? ??? return QMainWindow::event(ev); } ? void MyMainWindow::mousePressEvent(QMouseEvent *ev) { ??? if(ev->button() == Qt::RightButton) ??????? _menu->exec(QCursor::pos()); } ? void MyMainWindow::paintEvent(QPaintEvent *) { ??? QPainter p(this); ??? p.drawPixmap(QPoint(0,0),QPixmap(".../aaa.png")); } ? void MyMainWindow::slotOpen() { ??? QString strFile = QFileDialog::getOpenFileName(); ??? qDebug() << "Open file is:" << strFile; } ? int main(int argc,char* argv[]) { ??? QApplication app(argc,argv); ? ??? MyMainWindow w; ? ??? w.show(); ??? return app.exec(); }

運行結果:

右鍵的時候出現菜單

?

總結

以上是生活随笔為你收集整理的3.关于QT中的MainWindow窗口,MenuBar,ToolBar,QuickTip等方面的知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色片子网站 | 在线观看麻豆视频 | 日日操天天射 | 久久亚洲欧洲 | 天堂…中文在线最新版在线 | 国产精品久久久不卡 | 91黑丝在线观看 | 黑丝av在线 | 蜜臀av免费在线观看 | 男人的网站在线观看 | 在线播放av网站 | av片在线观看免费 | av污在线观看 | 六月色播 | 99久久99久久久精品棕色圆 | 国产精品老牛影视 | aa片在线观看视频在线播放 | 久久国产夫妻 | 亚洲五月花 | 在线观看不卡的av | 欧美理论在线观看 | 久久午夜网站 | 91超碰在线播放 | 精品婷婷色一区二区三区蜜桃 | 免费成人高清 | 精品伦精品一区二区三区视频密桃 | 亚洲国产久 | 日本少妇一区二区三区 | 欧美一区二区网站 | 免费av在线电影 | 中文视频一区 | 日韩午夜网站 | 欧美综合第一页 | 亚洲播播 | 午夜影音 | 亚洲精品中文字幕在线播放 | 中文字幕第三页 | 国产精品国产a级 | 公交顶臀绿裙妇女配视频 | 男女搞鸡网站 | 男女做受视频 | 欧美在线观看免费高清 | 91草草草| 欧美在线观看不卡 | 国产51精品 | 美女大黄网站 | 亚洲电影一区二区三区 | 国产毛片视频 | 欧美成人三区 | 久久网站免费观看 | 欧美打屁股 | 男女调教视频 | 91成人免费视频 | 久久精品中文字幕 | 狠狠干免费视频 | 国产成人一级片 | 老头老太吃奶xb视频 | 又大又粗弄得我出好多水 | 成人动漫在线播放 | 欧美日韩一区二区三区视频 | 爱情岛论坛成人 | 中国色老太hd | 美女精品网站 | 日本人视频69式jzzij | 亚洲成人免费在线视频 | 成人午夜在线播放 | japanese21ⅹxx日本| 精品91在线 | 国产精品19p| 国产亚洲女人久久久久毛片 | 99久久久久成人国产免费 | 午夜男人网 | 不卡在线一区 | 欧美xxxx黑人xyx性爽 | 日本在线h | 无码日韩精品一区二区 | 91亚瑟 | 国产亚洲色婷婷久久 | 欧美色图在线播放 | 性生活视频播放 | 国产精品无码AV | 天堂av在线电影 | 亚洲AV无码成人精品一区 | 久久久久久久一 | 在线观看一二区 | 国产又黄又粗 | 亚洲精品社区 | 一区二区三区四区av | 欧美日韩精品一区 | 国产99久| 台湾佬美性中文娱乐网 | 美日韩成人 | 午夜少妇影院 | 日韩中文在线观看 | 日韩免费专区 | 精品午夜福利视频 | 在线观看国产一级片 | 少妇性bbb搡bbb爽爽爽欧美 | 一级片视频免费 |