第五十課、關於對話方塊(About)------------------狄泰軟體學院
一、關於對話方塊
1、標準的桌面軟體都有一個關於對話方塊
2、關於對話方塊用於標識軟體的自身資訊
(1)、軟體的Logo、專案名、版本號
(2)、開發者資訊
(3)、版權資訊
(4)、聯絡方式等
3、經典設計方案
關於對話方塊標頭檔案
#ifndef ABOUTDIALOG_H
#define ABOUTDIALOG_H
#include <QWidget>
#include <QLabel>
#include <QPlainTextEdit>
#include <QPushButton>
#include <QDialog>
class AboutDialog : public QDialog
{
Q_OBJECT
protected:
QLabel m_label;
QPushButton m_closeButton;
QPlainTextEdit m_plainTextEdit;
public:
explicit AboutDialog(QWidget *parent = 0);
};
#endif // ABOUTDIALOG_H
關於對話方塊標頭檔案
關於對話方塊實現檔案
#include "AboutDialog.h"
#include <QPalette>
AboutDialog::AboutDialog(QWidget *parent) :
QDialog(parent), m_label(this), m_closeButton(this), m_plainTextEdit(this)
{
QPixmap pm(":/Res/pic/Logo.PNG");
pm = pm.scaled(120, 120, Qt::KeepAspectRatio);
m_label.setPixmap(pm);
m_label.move(20, 20);
m_label.resize(120, 120);
QPalette p = m_plainTextEdit.palette();
p.setColor(QPalette::Active, QPalette::Base, palette().color(QPalette::Active, QPalette::Background));
p.setColor(QPalette::Inactive, QPalette::Base, palette().color(QPalette::Inactive, QPalette::Background));
m_plainTextEdit.move(200, 30);
m_plainTextEdit.resize(180, 130);
m_plainTextEdit.setPalette(p);
m_plainTextEdit.setFrameStyle(QFrame::NoFrame);
m_plainTextEdit.setReadOnly(true);
m_plainTextEdit.insertPlainText("NotePad Project\n\nPlatform: Qt 4.7.4\n\nVersion: 1.0.0\n\nCopyright: LGC");
m_closeButton.setText("Close");
m_closeButton.move(273, 175);
m_closeButton.resize(100, 30);
setFixedSize(390, 230);
setWindowTitle("About NotePad");
connect(&m_closeButton, SIGNAL(clicked()), this, SLOT(close()));
}
關於對話方塊實現檔案
其它修改的地方:
二、專案持續開發
1、開發目標
(1)、自定義文字編譯器的字型和大小
(2)、設定文字框是否自動換行
(3)、開啟外部幫助文件
2、自定義字型大小及實現思路
(1)、通過QFontDialog對話方塊設定字型以及大小
(2)、將QFontDialog設定到文字編輯器
3、自動換行實現思路
(1)、獲取當前文字編輯器的換行模式
(2)、將模式進行反轉後並進行設定
(3)、更新對QAction物件的狀態
自動換行的實現
void MainWindow::onFormatWrap()
{
QPlainTextEdit::LineWrapMode mode = mainEdit.lineWrapMode();
if( mode == QPlainTextEdit::NoWrap )//如果不是自動換行
{
mainEdit.setLineWrapMode(QPlainTextEdit::WidgetWidth);//就反轉為自動換行
//findMenuBarAction("換行")->setChecked(true);//還是不能工作,此問題尚未解決
findToolBarAction("換行")->setChecked(true);
}
else
{
mainEdit.setLineWrapMode(QPlainTextEdit::NoWrap);
// findMenuBarAction("換行")->setChecked(false);
findToolBarAction("換行")->setChecked(false);
}
}
自動換行的實現
4、開啟外部檔案實現思路
(1)、QDesktopServers提供了一系列桌面開發相關的服務介面
(2)、通過QDesktopServers中的成員函式開啟幫助文件
A、QDesktopServers::openUrl(QUrl("path"))
三、小結
(1)、關於對話方塊用於標識軟體自身的資訊
(2)、使用QFontDialog設定文字編輯器的字型
(3)、設定文字編輯器的自動換行屬性
(4)、通過QDesktopServers使用桌面環境的系統服
相關文章
- flutter佈局-7-About對話方塊Flutter
- 關於bootstrap彈出二級對話方塊的使用boot
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- 對話方塊函式函式
- 登入對話方塊
- win10安裝軟體彈出的那個對話方塊怎麼關掉Win10
- c#中的模態對話方塊和非模態對話方塊C#
- [MFC]選擇目錄對話方塊和選擇檔案對話方塊
- Ext學習筆記7-對話方塊筆記
- 進一步學習對話方塊(轉)
- flutter demo (四):對話方塊Flutter
- Javascript檔案對話方塊JavaScript
- React中的模式對話方塊React模式
- 在 Flutter 使用 GetX 對話方塊Flutter
- Qt 對話方塊新增工具欄QT
- 如何自學qt(4)——對話方塊QT
- QT 等待對話方塊/進度QT
- android 多項對話方塊Android
- Android Dialog對話方塊Android
- DialogPane對話方塊佈局
- 關於showModalDialog()對話方塊點選按鈕彈出新頁面的問題
- 視窗和對話方塊居中對齊
- Flutter Widgets 對話方塊-DialogFlutter
- 常用元件 / 對話方塊及選單元件
- Qt標準對話方塊實現QT
- TWebBrowser禁止彈出Alert對話方塊Web
- 一個Flex 對話方塊的坑Flex
- android常用對話方塊封裝Android封裝
- javascript中的彈出對話方塊JavaScript
- JavaScript彈出儲存對話方塊JavaScript
- java Swing詢問對話方塊Java
- 有關屬性對話方塊(property sheet )的幾個提示 (轉)
- Android對話方塊Dialog深度剖析Android
- Android 對話方塊 Dialog 深度剖析Android
- AlertDialog 自定義對話方塊檢視
- jQuery模擬實現聊天對話方塊jQuery
- js特效 對話方塊 懸浮箭頭JS特效
- Android通知之普通對話方塊通知Android