QT:UI控件(按設計師界面導航界面排序)

基礎部分

創建新項目:QWidget,QMainWindow,QDialog
QMainWindow繼承自QWidget,多了菜單欄;
QDialog繼承自QWidget,多了對話框

QMainWindow 菜單欄和工具欄:
Bar:

菜單欄:QMenuBar,菜單:QMenu

在這里插入圖片描述

    //重置窗口大小resize(600,400);//菜單欄創建(菜單欄最多只能有一個)QMenuBar * bar = menuBar();//將菜單欄放入到窗口中setMenuBar(bar);//創建菜單QMenu * filename= bar->addMenu("文件");QMenu * editname= bar->addMenu("編輯");QAction * newAction = filename->addAction("新建");//添加分割線filename->addSeparator();//增加子菜單的內容QAction * OpenAction = filename->addAction("打開");//設置中心部件 只能有一個(這個可加可不加)QTextEdit *edit = new QTextEdit(this);setCentralWidget(edit);
工具欄:QToolBar,
狀態欄:QStatusBar();
浮動窗口:QDockWidget	可以有多個
對話框:
消息對話框QMessage:錯誤對話框(critical),信息對話框(information),問題對話框(question),警告
選擇顏色(QColorDialog):
選擇文件或目錄(QFileDialog):
...還有幾個其他的標準對話框

按鈕組

pushButton 顯示文字


//lambda表達式(C++11特性):[](){};	connect(mybtn,&MyPushButton::clicked,[=](){this->close();});
//點擊新建按鈕,彈出對話框connect(ui->actionnew,&QAction::triggered,[=](){//對話框QDialog dlg(this);dlg.exec();});

ToolButton 可用來顯示圖片
單選: Radio Button
多選:check Box
(group box 可將選項button放在一起(單選/多選))

Item Views(Model-base)

是基于其他模組的,例如數據庫之類。不常用

Item Widgets (Item-base):

在這里插入圖片描述

表格控件:

控件:QListWidget(圖片部件標注1的部分)
List Widget (分行顯示):每一行:QListWidgetItem ,然后加入(addItem)到ui的listwidget控件中

//利用ListWidget逐行顯示QListWidgetItem *item = new QListWidgetItem("one");//將第一行ui->listWidget->addItem(item);item->setTextAlignment(Qt::AlignHCenter);QStringList list;list<<"456"<<"7931"<<"46913";list.append("93");list.insert(6,"6666");ui->listWidget->addItems(list);

控件:QTreeWidget樹控件(圖片部件標注2的部分)
實現樹列介紹,

//利用TreeWidget樹控件使用ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介紹");QTreeWidgetItem * item_li = new QTreeWidgetItem(QStringList()<<"力量");QTreeWidgetItem * item_min = new QTreeWidgetItem(QStringList()<<"敏捷");QTreeWidgetItem * item_zhi = new QTreeWidgetItem(QStringList()<<"智力");//加載頂層的節點ui->treeWidget->addTopLevelItem(item_li);ui->treeWidget->addTopLevelItem(item_min);ui->treeWidget->addTopLevelItem(item_zhi);//追加子節點QStringList herpL1;herpL1<<"英雄1"<<"技能點1,技能點2";QTreeWidgetItem * L1 = new QTreeWidgetItem(herpL1);item_li->addChild(L1);

控件:QTableWidget控件(圖片部件標注3的部分)

//利用TableWidget控件使用(表格)//設置列數ui->tableWidget->setColumnCount(3);//設置水平表頭ui->tableWidget->setHorizontalHeaderLabels(QStringList ()<<"姓名"<<"性別"<<"年齡");//設置行數ui->tableWidget->setRowCount(5);//設置正文(第一行第一列)//ui->tableWidget->setItem(0,0,new QTableWidgetItem("人物1"));QStringList namelist;namelist<<"人物1"<<"人物2"<<"人物3"<<"人物4";QStringList sexlist;sexlist << "女1" <<"男1"<<"男1"<<"女2";     //此處使用"女1"for(int i=0;i<4;i++){int col=0;ui->tableWidget->setItem(i,col++,new QTableWidgetItem(namelist[i]));ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexlist[i]));ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));}

其他常用控件:(Containers容器)

Group Box 分組的部件(直接在ui中拖動設置即可)(一般設置頁面排版時用到,例如在單選/多選框)

Scroll Area 滾動的區域,滾動條(直接在ui中拖動設置即可)(圖片部件標注4的部分)

ToolBox 分頁(直接在ui中拖動設置即可)(圖片部件標注5的部分)

Tab Widget 分頁(直接在ui中拖動設置即可)(圖片部件標注6的部分)

stacked widget 切換頁面(調試時直接在ui中拖動設置即可,但是使用調用時需使用棧空間的索引進行切換),(圖片部件標注7的部分)
例如:開發中有可識別的切換按鈕,但是程序中切換需要通過新增按鈕來進行切換(setCurrentIndex)

//棧控件的使用//設置默認值頁面ui->stackedWidget->setCurrentIndex(0);connect(ui->pushButton_stackW_1,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(0);   //定位到棧空間的索引});connect(ui->pushButton_stackW_2,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(1);   //定位到棧空間的索引});connect(ui->pushButton_stackW_3,&QPushButton::clicked,[=](){ui->stackedWidget->setCurrentIndex(2);   //定位到棧空間的索引});

Frame是一個邊框

其他常用控件:(Input Widget)

在這里插入圖片描述

Frame是一個邊框
(Input Widget)

Combo Box 下拉框:(直接在ui中拖動設置即可)(圖片部件標注1的部分)
//comboBox下拉框ui->comboBox->addItem("車1");ui->comboBox->addItem("車2");ui->comboBox->addItem("車3");//點擊按鈕,選中車三選項connect(ui->pushButton,&QPushButton::clicked,[=](){//ui->comboBox->setCurrentIndex(2);//或者直接輸入文字(在確定有該選項的情況下)ui->comboBox->setCurrentText("車3");});
fontComboBox 字體下拉框(圖片部件標注2的部分)
lineEdit 單行編輯框(圖片部件標注3的部分)
TextEdit 多行編輯框(可改變字體顏色形式等)(圖片部件標注4的部分)
Plain TextEdit 純文本多行編輯框
spin box 逐個增減輸入框(圖片部件標注5的部分)
Double spin box 加小數點的(圖片部件標注6的部分)
Time Edit 時間輸入框(圖片部件標注7的部分)
dateEdit 日期輸入框
dateTimeEdit 時間和日期輸入框
horizontalScrollBar	水平滑動條
verticalScrollBar	豎直滑動條
horizontalSlider	水平滑動條(可與spin box進行組合)
verticalSlider 	豎直滑動條(可與spin box進行組合)

(Display widget)顯示標簽
label :可顯示文字和圖片(首先需要把圖片添加到資源文件中,然后程序添加顯示圖片)
在這里插入圖片描述

//在lable中顯示圖片(圖片提前加載到項目資源文件res中)ui->label->setPixmap(QPixmap(":/1.jpg"));//在lable中也可以放動圖QMovie * movie = new QMovie(":/one.gif");   //注意后綴需要是gifui->label->setMovie(movie);//播放動圖movie->start();

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36331.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36331.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36331.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

A Survey for In-context Learning

A Survey for In-context Learning 摘要&#xff1a; 隨著大語言模型(LLMs)能力的增長&#xff0c;上下文學習(ICL)已經成為一個NLP新的范式&#xff0c;因為LLMs僅基于幾個訓練樣本讓內容本身增強。現在已經成為一個新的趨勢去探索ICL來評價和extrapolate LLMs的能力。在這篇…

微服務06-分布式事務解決方案Seata

1、Seata 概述 Seata事務管理中有三個重要的角色: TC (Transaction Coordinator) - **事務協調者:**維護全局和分支事務的狀態,協調全局事務提交或回滾。 TM (Transaction Manager) - **事務管理器:**定義全局事務的范圍、開始全局事務、提交或回滾全局事務。 RM (Resourc…

Java地圖專題課 基本API BMapGLLib 地圖找房案例 MongoDB

本課程基于百度地圖技術&#xff0c;由基礎入門開始到應用實戰&#xff0c;適合零基礎入門學習。將企業項目中地圖相關常見應用場景的落地實戰&#xff0c;包括有地圖找房、輕騎小程序、金運物流等。同時講了基于Netty實現高性能的web服務&#xff0c;來處理高并發的問題。還講…

ttf-dejavu fontconfig字體

ttf-dejavu fontconfig是驗證碼&#xff0c;pdf&#xff0c;excel時需要用到的字體 編輯dockerfile&#xff0c;先切換國內鏡像源&#xff0c;默認alpinelinux是國外源&#xff0c;下載包會很慢 vim Dockerfile FROM alpine:latest RUN sed -i s/dl-cdn.alpinelinux.org/mirr…

【創建型設計模式】C#設計模式之原型模式

原型模式是一種創建型設計模式&#xff0c;它通過復制現有對象來創建新對象&#xff0c;而無需通過實例化的方式。它允許我們使用已經存在的對象作為藍本&#xff0c;從而創建新的對象&#xff0c;這樣可以避免重復初始化相似的對象&#xff0c;提高了對象的創建效率。 現在給…

Sentinel

1、熔斷降級限流 熔斷 A服務調用B服務的某個功能&#xff0c;由于網絡不穩定、B服務卡機等問題&#xff0c;導致功能時間超長。如果這樣子的次數太多&#xff0c;我們就可以直接將B斷路&#xff08;A不再請求B接口&#xff09;&#xff0c;凡是調用B服務的直接返回降級數據&a…

13-數據結構-串以及KMP算法,next數組

串 目錄 串 一、串&#xff1a; 二、串的存儲結構&#xff1a; 三、模式匹配 1.簡單模式匹配&#xff08;BF算法&#xff09; 2.KMP算法 2.1-next&#xff08;j&#xff09;數組手工求解 2.2-nextval&#xff08;j&#xff09;數組手工求解 一、串&#xff1a; 內容受…

JVM垃圾回收篇-垃圾回收算法

JVM垃圾回收篇-垃圾回收算法 標記清除&#xff08;Mark Sweep&#xff09; 概念 collector指的就是垃圾收集器。 mutator是指除了垃圾收集器之外的部分&#xff0c;比如說我們的應用程序本身。 mutator的職責一般是NEW(分配內存)、READ(從內存中讀取內容)、WRITE(將內容寫入內…

將多個單獨的 Excel 文件合并成一個,并添加標題行

要將多個單獨的 Excel 文件合并成一個&#xff0c;并添加標題行&#xff0c;可以使用 Python 的 pandas 庫。以下是一個示例代碼&#xff0c;假設要合并的 Excel 文件都在同一個文件夾中&#xff1a; import os import pandas as pd # 指定文件夾路徑 folder_path path/to/fo…

vscode搭建c語言環境問題

c語言環境搭建參考文章:【C語言初級階段學習1】使用vscode運行C語言&#xff0c;vscode配置環境超詳細過程&#xff08;包括安裝vscode和MinGW-W64安裝及后續配置使用的詳細過程&#xff0c;vscode用戶代碼片段的使用&#xff09;[考研專用]_QAQshift的博客-CSDN博客 問題如下:…

[C++ 網絡協議] 套接字和地址族、數據序列

目錄 1. 套接字 1.1 在Linux平臺下構建套接字 1.1.1 用于接聽的套接字(服務器端套接字) 1.1.2 用于發送請求的套接字(客戶端套接字) 1.2 在Windows平臺下構建套接字 1.2.1 Winsock的初始化 1.2.2 用于接聽的套接字(服務器端套接字) 1.2.3 用于發送請求的套接字(客戶端套…

pytest框架快速進階篇-pytest前置和pytest后置,skipif跳過用例

一、Pytest的前置和后置方法 1.Pytest可以集成unittest實現前置和后置 importunittestimportpytestclassTestCase(unittest.TestCase):defsetUp(self)->None:print(unittest每個用例前置)deftearDown(self)->None:print(unittest每個用例后置)classmethoddefsetUpClass…

jmeter中用戶參數和用戶定義的變量的區別

如果使用jmeter做過參數化的人都知道&#xff0c;參數化的方式有多種&#xff0c;其中一種就是使用用戶定義的變量&#xff0c;還有一種是使用用戶參數。那么&#xff0c;這兩個有什么異同呢&#xff1f; 一、先說相同的點&#xff1a; 1、都可以參數化&#xff0c;以供sample…

allure測試報告

使用pytest結合Allure進行測試報告生成的簡單教程 allure測試報告 Allure基于Java開發&#xff0c;因此我們需要提前安裝Java 8或以上版本的環境。 ◆安裝allure-pytest插件在DOS窗口輸入命令“pip3 install allure-pytest”&#xff0c;然后按“Enter”鍵。 下載安裝Allure…

使用 Docker 部署 canal 服務實現MySQL和ES實時同步

文章目錄 0. 環境介紹0. 前置步驟1. 安裝Kibana和Elasticsearch2. 安裝Canal和Canal Adapter2.1 修改數據庫配置2.1.1 修改配置2.1.2 驗證mysql binlog配置2.1.3 查看日志文件2.1.4 用JDBC代碼插入數據庫 2.2 安裝Canal Server2.3 安裝Canal Adapter修改兩處配置文件配置文件取…

Linux 命令篇

一、啟動網絡命令 ip addr 查看網卡信息 service network start 啟動網卡 service network stop 關閉網卡 service network restart 重啟網絡 二、pwd 命令 查看當前目錄的路徑 linux 下所有的絕對路徑都是從根目錄 "/" 開始 root:是linux下root用戶的根目…

初識mysql數據庫之引入mysql客戶端庫

目錄 一、下載第三方庫 1. 準備工作 1. 使用mysql官網提供的庫 2. yum源安裝 二、測試第三方庫是否可用 三、mysql常用接口介紹 1. 查看官方文檔 2. 初始化 3. 關閉mysql 4. 連接mysql 5. 下達sql指令 四、一個簡單的C客戶端庫連接mysql程序 1. 頭文件 2. 初始化…

FFmpeg接收UDP碼流

一、FFmpeg參數初始化&#xff1a; //在打開碼流前指定各種參數比如:探測時間/超時時間/最大延時等//設置緩存大小,1080p可將值調大av_dict_set(&options, "buffer_size", "8192000", 0);//以tcp方式打開,如果以udp方式打開將tcp替換為udpav_dict_set(…

Could not resolve host: mirrorlist.centos.org; Unknown error解決方法

今天服務器安裝完CentOS系統后&#xff0c;安裝網絡的時候&#xff0c;出現無法聯網yum yum -y install net-tools 以上代碼無法運行并報錯&#xff0c;這里我要提醒大家&#xff0c;如果在初始安裝的時候選中安裝網絡工具模塊就不用在安裝net-tools了&#xff0c;因為我選中…

Angular 性能優化實戰

Angular 性能優化實戰 Angular 是一個非常強大的前端框架&#xff0c;但是如果不注意性能優化&#xff0c;應用程序可能會變得非常慢并增加加載時間。 以下是一些Angular性能優化經驗的實戰建議&#xff1a; 1. 使用 OnPush 變更檢測策略 默認情況下&#xff0c;Angular檢查…