第五十課、關於對話方塊(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
- Dialog對話方塊
- VUE:點選開啟的對話方塊外面時,對話方塊總是被關閉Vue
- 如何自學qt(4)——對話方塊QT
- 規定對話方塊
- 登入對話方塊
- win10安裝軟體彈出的那個對話方塊怎麼關掉Win10
- flutter demo (四):對話方塊Flutter
- Flutter Widgets 對話方塊-DialogFlutter
- DialogPane對話方塊佈局
- 關於showModalDialog()對話方塊點選按鈕彈出新頁面的問題
- React中的模式對話方塊React模式
- Qt 對話方塊新增工具欄QT
- 0x7_對話方塊
- java Swing詢問對話方塊Java
- 在 Flutter 使用 GetX 對話方塊Flutter
- 訊息對話方塊 confirm() prompt()
- 有關Dialog類的相關資訊【對話方塊的介紹】
- 20210113 關於心理學的對話
- JavaFX 如何使用內建的對話方塊Java
- w10系統對話方塊這麼變小_w10系統對話方塊如何縮小
- [開發教程]第31講:Bootstrap對話方塊boot
- Element-Ui元件(三十八)Dialog 對話方塊UI元件
- Flutter 23: 圖解自定義 Dialog 對話方塊Flutter圖解
- 建立互動式shell指令碼對話方塊指令碼
- 21.Quick QML-FileDialog、FolderDialog對話方塊UI
- Electron 開啟儲存檔案對話方塊
- 互動媒體日常——互動漫畫之對話方塊互動
- 【軟體構造課程相關】幻方及其構造(上)
- 實現element-ui對話方塊可拖拽功能UI
- 模態對話方塊可能導致程式崩潰
- C/C++ Qt Dialog 對話方塊元件應用C++QT元件
- c++開啟挑選圖片對話方塊C++
- c#—OpenFileDialog(開啟檔案對話方塊)和new關鍵字的用法C#
- Win10系統怎麼禁用“刪除檔案”對話方塊_win10禁用“刪除檔案”對話方塊的方法Win10
- 對於核取方塊的快捷選擇
- 自定義一個簡單的載入對話方塊
- 如何在Response.Redirect前彈出alert對話方塊