国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

做網(wǎng)站合肥百度搜索推廣平臺

做網(wǎng)站合肥,百度搜索推廣平臺,可以拿自己電腦做網(wǎng)站主機,網(wǎng)站做郵箱嗎4-主窗口 1、簡介2 菜單欄、工具欄、狀態(tài)欄2.1 菜單欄2.2 QAction2.3 工具欄2.4 狀態(tài)欄 3 混合方式UI設計 1、簡介 QMainWindow是一個為用戶提供主窗口程序的類,包含一個菜單欄、多個工具欄、多個停靠控件、一個狀態(tài)欄以及一個中心控件,是許多應用程序&…

4-主窗口

  • 1、簡介
  • 2 菜單欄、工具欄、狀態(tài)欄
    • 2.1 菜單欄
    • 2.2 QAction
    • 2.3 工具欄
    • 2.4 狀態(tài)欄
  • 3 混合方式UI設計

1、簡介

  • QMainWindow是一個為用戶提供主窗口程序的類,包含一個菜單欄、多個工具欄、多個??靠丶?、一個狀態(tài)欄以及一個中心控件,是許多應用程序(比如文本編輯器、圖片編輯器等)的基礎。
  • 主窗口具有自己的布局管理器,因此不允許在主窗口上設置或創(chuàng)建布局管理器。但是在中心控件上可以設置。
    在這里插入圖片描述

2 菜單欄、工具欄、狀態(tài)欄

2.1 菜單欄

  • 菜單是一些列命令的列表
  • 為了實現(xiàn)菜單、工具欄按鈕、鍵盤快捷方式等命令的一致性,Qt使用動作(QAction)來表示這些命令
  • Qt的菜單就是由一系列的QAction動作對象構成的列表
  • 菜單欄是包含菜單的面板,位于主窗口標題欄的下面
  • 一個主窗口只能有一個菜單欄

2.2 QAction

  • QAction類提供了抽象的用戶界面action,這些action可以被放置在窗口控件中
  • QAction可以被添加到菜單和工具欄中,并且可以自動保持在菜單和工具欄中的同步。
  • QAction是可以作為獨立的對象被創(chuàng)建,也可以在構建菜單時創(chuàng)建。
  • QAction可以包含一個圖標、菜單文本、快捷鍵、狀態(tài)文本等。
  • 只有將QAction添加到窗口控件上,才可以使用這些QAction。

2.3 工具欄

  • 工具欄是由一系列的類似于按鈕的動作排列而成的面板,它通常由一些經(jīng)常使用的命令(動作)組成
  • 工具欄位于菜單欄的下面、狀態(tài)欄的上面,可以??吭谥鞔翱诘纳舷伦笥宜膫€方向
  • 一個主窗口可以包含多個工具欄

2.4 狀態(tài)欄

  • 提供一個用于展示狀態(tài)信息的水平欄

3 混合方式UI設計

  • 可視化UI設計無需人工編寫代碼區(qū)處理大量繁瑣的界面組件的創(chuàng)建和布局管理工作,可以直觀地進行界面設計,大大提高工作效率。但某些組件無法可視化地添加到界面上。
  • 采用純代碼方式進行UI設計雖然無所不能,但是設計效率太低,過程非常繁瑣。
  • 混合方式創(chuàng)建UI,即部分界面設計用UI設計器可視化實現(xiàn),部分無法在UI設計器里實現(xiàn)的界面設計用代碼實現(xiàn)。
    案列:實現(xiàn)下面的窗口及其功能
    在這里插入圖片描述

1: 新建工程名為Editor,基類是QMainWindow,UI組件選擇Text Edit,在窗口上選擇控件-》視圖-》action editor,在彈出的窗口中,新建下面的選項
在這里插入圖片描述

2:設計菜單欄
在窗口上方輸入文件,然后將action控件拖入其中
在這里插入圖片描述

將控件拖入,當上方出現(xiàn)紅色線條時,就說明成功了
在這里插入圖片描述

然后依次完成以下頁面的設計
在這里插入圖片描述

3:設計工具欄
在窗口空白處單擊,選擇添加工具欄,依次將action控件拖入其中,效果如下
在這里插入圖片描述

4:設計相關的槽函數(shù),其中粘貼、剪切、復制、退出和清空不需要我們自定義槽函數(shù),可以在頁面上選擇,其他均需要生成對應的槽函數(shù)。頁面可選擇如下:
在這里插入圖片描述

自己選擇的如下:
在這里插入圖片描述

其中粗體、斜體、下劃線、工具欄、狀態(tài)欄是需要選擇triggered(bool checked)這個槽函數(shù)的
在Text Edit控件中需要選擇兩個槽函數(shù)
在這里插入圖片描述

5:根據(jù)原圖,我們還需要字體和字號的控件,這倆需要我們自己書寫定義

private:
// 自定義的槽函數(shù)void on_m_combFontName_currentIndexChanged(const QString &fontName);void on_m_spinFontSize_valueChanged(int fontSize);
// 變量QFontComboBox * m_combFontName;// 字體組合框對象指針QSpinBox* m_spinFontSize;// 存儲字號QLabel* m_labCurFile;//當前文件

6:書寫邏輯,源文件如下

EditorWindow::EditorWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::EditorWindow)
{ui->setupUi(this);// 設置中心組件setCentralWidget(ui->m_edit);// 設計工具欄ui->toolBar->addSeparator();// 添加分隔符 在當前工具欄的末尾添加ui->toolBar->addWidget(new QLabel(" 字體大小:"));// 字號大小m_spinFontSize = new QSpinBox; // 字號選擇框m_spinFontSize->setMinimumWidth(60);//最小的寬度m_spinFontSize->setRange(8,72);// 字號大小的范圍ui->toolBar->addWidget(m_spinFontSize);ui->toolBar->addWidget(new QLabel(" 字體名稱:")); // 字體名稱m_combFontName = new QFontComboBox;// 字體選擇框m_combFontName->setMinimumWidth(80);//最小的寬度ui->toolBar->addWidget(m_combFontName);m_labCurFile = new QLabel("當前文件: "); // 添加尾部狀態(tài)欄m_labCurFile->setMinimumWidth(400);ui->statusbar->addWidget(m_labCurFile);//建立信號和槽的連接// 字體選擇connect(m_combFontName,SIGNAL(currentIndexChanged(QString)),this,SLOT(on_m_combFontName_currentIndexChanged(QString)));// 字號選擇connect(m_spinFontSize,SIGNAL(valueChanged(int)),this,SLOT(on_m_spinFontSize_valueChanged(int)));
}
// 新建的槽函數(shù)
void EditorWindow::on_m_actNew_triggered(){QMessageBox::information(this,windowTitle(),"新建 文件 等待 處理");
}
// 打開的槽函數(shù)
void EditorWindow::on_m_actOpen_triggered()
{QMessageBox::information(this,windowTitle(),"打開 文件 等待 處理");}// 粗體的槽函數(shù)void EditorWindow::on_m_actBold_triggered(bool checked){QTextCharFormat fmt;fmt.setFontWeight(checked ? QFont::Bold : QFont::Normal);ui->m_edit->mergeCurrentCharFormat(fmt);
}
// 斜體的槽函數(shù)
void EditorWindow::on_m_actItalic_triggered(bool checked)
{QTextCharFormat fmt;fmt.setFontItalic(checked);ui->m_edit->mergeCurrentCharFormat(fmt);
}
// 下劃線的槽函數(shù)
void EditorWindow::on_m_actUnderline_triggered(bool checked)
{QTextCharFormat fmt;fmt.setFontUnderline(checked);ui->m_edit->mergeCurrentCharFormat(fmt);
}
// 狀態(tài)欄的槽函數(shù)
void EditorWindow::on_m_actStatusbar_triggered(bool checked)
{ui->statusbar->setHidden(!checked);
}
// 工具欄的槽函數(shù)
void EditorWindow::on_m_actToolbar_triggered(bool checked)
{ui->toolBar->setHidden(!checked);
}
// 關于的槽函數(shù)
void EditorWindow::on_m_actAbout_triggered()
{QMessageBox::information(this,windowTitle(),"關于 文件 等待 處理");
}
// 文本框 可復制槽函數(shù)
//何時m_edit中的信息可以被拷貝 - 復制/剪切
//如果不能復制和剪切 - 將兩個QAction禁用
//文本框 文字改變槽函數(shù)
void EditorWindow::on_m_edit_copyAvailable(bool b)
{// 復制使能ui->m_actCopy->setEnabled(b);// 剪切使能ui->m_actCut->setEnabled(b);
}
// 文本發(fā)生改變的 槽函數(shù)  文本發(fā)生改變時判斷是否可以清空
void EditorWindow::on_m_edit_textChanged()
{ui->m_actClear->setEnabled(ui->m_edit->toPlainText().size());
}
// 文本框 文本選擇改變槽函數(shù)
void EditorWindow::on_m_edit_selectionChanged()
{// 當有文本選中時,查看對應文本已經(jīng)設置的格式QFont font = ui->m_edit->currentFont();ui->m_actBold->setChecked(font.bold());//粗體ui->m_actItalic->setChecked(font.italic());//斜體ui->m_actUnderline->setChecked(font.underline());//下劃線m_combFontName->setCurrentFont(font);// 字體m_spinFontSize->setValue(font.pointSize());
}
// 字體變化槽函數(shù)
void EditorWindow::on_m_combFontName_currentIndexChanged(const QString &fontName){QTextCharFormat fmt;fmt = ui->m_edit->currentCharFormat();fmt.setFontFamily(fontName);ui->m_edit->mergeCurrentCharFormat(fmt);
}
// 字號變化槽函數(shù)
void EditorWindow::on_m_spinFontSize_valueChanged(int fontSize){QTextCharFormat fmt;fmt = ui->m_edit->currentCharFormat();fmt.setFontPointSize(fontSize);ui->m_edit->mergeCurrentCharFormat(fmt);
}
http://m.aloenet.com.cn/news/34700.html

相關文章:

  • 做電商網(wǎng)站用什么框架電商平臺開發(fā)需要多少錢
  • 游戲網(wǎng)站怎么做推廣成人大學報名官網(wǎng)入口
  • 網(wǎng)站制作應該注意到的問題seo有哪些優(yōu)缺點?
  • 營銷型網(wǎng)站建設公司價格經(jīng)典網(wǎng)絡營銷案例
  • openshift安裝wordpress密碼忘記百度seo關鍵詞報價
  • wordpress模板工作室佛山網(wǎng)絡公司 樂云seo
  • 服裝設計圖seo營銷推廣服務公司
  • 網(wǎng)站設計怎么做鏈接中國疫情最新消息
  • 做網(wǎng)站推廣的方法佛山關鍵詞排名效果
  • 食藥監(jiān)局網(wǎng)站建設方案濰坊網(wǎng)站seo
  • 90設計網(wǎng)站可以商用嗎學生班級優(yōu)化大師
  • 個人網(wǎng)站有什么缺點it人必看的網(wǎng)站
  • 西寧做網(wǎng)站的公司力請君博d百度網(wǎng)站關鍵詞排名查詢
  • 高端品牌男鞋有哪些優(yōu)化營商環(huán)境心得體會個人
  • 哪個網(wǎng)站 的域名最便宜seo推廣外包企業(yè)
  • 模板網(wǎng)站 可以做推廣嗎如何優(yōu)化搜索引擎
  • 招聘網(wǎng)站上怎么做推廣青島網(wǎng)站建設公司電話
  • 什么網(wǎng)站做外貿(mào)最好推廣平臺有哪些
  • 大石橋網(wǎng)站建設百度關鍵字優(yōu)化價格
  • javaweb做新聞網(wǎng)站北京百度推廣電話號碼
  • 室內(nèi)環(huán)保網(wǎng)站模板代碼seo網(wǎng)站優(yōu)化培訓怎么做
  • 做的好微信商城網(wǎng)站嗎seo顧問服務四川
  • 福田做棋牌網(wǎng)站建設哪家公司便宜信息發(fā)布平臺推廣
  • 制作精美網(wǎng)站建設售后完善信息流廣告代運營
  • 天津做網(wǎng)站的公司營銷網(wǎng)絡推廣哪家好
  • 手機網(wǎng)站模板開發(fā)工具seo網(wǎng)絡營銷推廣公司深圳
  • 相冊模版網(wǎng)站圖片展示成人再就業(yè)培訓班
  • 網(wǎng)站流量少宣傳產(chǎn)品的方式
  • 請人做網(wǎng)站后臺密碼推廣模式包括哪些模式
  • 復興網(wǎng)站制作網(wǎng)絡推廣文案策劃