国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt5.15.2中加入圖片資源

這篇具有很好參考價值的文章主要介紹了Qt5.15.2中加入圖片資源。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

系列文章目錄

前言

以前用的Qt5.15.2之前的版本,QtCreator默認的工程文件是*.pro,現在用5.15.2創(chuàng)建工程默認的工程文件是CMameList.txt,當然在創(chuàng)建項目時,仍然可以使用pro工程文件用QtCreator打開CMakeList.txt
以前用習慣了pro文件,現在改成CMakeList很不習慣,現在我們在CMakeList.txt中加入資源文件

一、加入圖片資源

1.首先,在Qt項目里創(chuàng)建一個目錄image,然后將圖片資源放image目錄中
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
2.在Qt creator中創(chuàng)建resource file
鼠標右鍵項目listWidgetSplitter> Add New… > Qt > Qt Resource File > 輸入文件名Resources,->next
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
3.新建資源文件.qrc
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
4.創(chuàng)建資源文件名Resources.qrc
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
5.把資源文件加入到你的工程中
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
6.并在CMakeLists.txt加入Resources.qrc并保存(control + s),這時左側項目工程會自動生成Resources.qrs
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
7.左側右鍵點擊Resources.qrs文件添加前綴
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
8.添加圖片,關聯(lián)到此前綴來:
右鍵·Resources.qrc > Open in Editor > 選中>Add Files > 從打開的文件選擇器中選擇icon1.png,icon2.png,padfsplit.ico,se_center.png
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
9.添加圖片,復制圖片路徑
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter
在代碼中加入圖片路徑
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter

二、代碼

頭文件

#ifndef LISTCONTROL_H
#define LISTCONTROL_H

#include <QWidget>
#include <QListWidget>
#include <QListWidgetItem>
#include <QMenu>
#include <QSplitter>
#include <QGridLayout>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QLabel>
#include <QPixmap>
#include <QImage>
#include <QIcon>
#include <QMessageBox>
#include <QPushButton>
#include <QAction>
#include <QMouseEvent>

class listControl : public QWidget
{
    Q_OBJECT
public:
    explicit listControl(QWidget *parent = nullptr);

    QListWidget* _listWgtLeft;
    QListWidget* _listWgtRight;

    QSplitter* _splitterMain;

    QMenu* _popMenuLeft;
    QMenu* _menuRight;
private:
    void initUI();

signals:

private slots:

    void onMenuPopSlot(const QPoint &pos);
};

#endif // LISTCONTROL_H

實現文件文章來源地址http://www.zghlxwxcb.cn/news/detail-814442.html

#include "listControl.h"

listControl::listControl(QWidget *parent)
    : QWidget{parent}
{
    initUI();
}

void listControl::initUI()
{

    _splitterMain = new QSplitter(Qt::Horizontal, 0); //新建主分割窗口,水平分割
    _listWgtLeft = new QListWidget(_splitterMain);


    //設置樣式,直接在函數中設置
    _listWgtLeft->setStyleSheet("QListWidget{border:1px solid gray; color:black; }"
                               "QListWidget::Item{padding-top:1px; padding-bottom:4px; }"
                               "QListWidget::Item:hover{background:skyblue; }"
                               "QListWidget::item:selected{background:lightgray; color:red; }"
                               "QListWidget::item:selected:!active{border-width:0px; background:lightgreen; }"
                               );

    // _listWgtLeft->setResizeMode(QListView::Adjust); //適應布局調整
    _listWgtLeft->setViewMode(QListView::ListMode);
    _listWgtLeft->setMovement(QListView::Free);
    _listWgtLeft->setContextMenuPolicy(Qt::CustomContextMenu);
    _listWgtRight = new QListWidget(_splitterMain);

    // QWidget* itemWgt = new QWidget(_listWgtLeft);

    QGridLayout* itemMainLyt = new QGridLayout;
    QHBoxLayout* itemContentLyt = new QHBoxLayout;


    QListWidgetItem *item1 = new QListWidgetItem(_listWgtLeft);
    item1->setFlags(item1->flags() | Qt::ItemIsEditable); // 設置item可編輯
    QWidget *widget = new QWidget(_listWgtLeft);
    QHBoxLayout *layout = new QHBoxLayout(widget);
    QLabel* lbl01 = new QLabel("");
    QImage* image01 = new QImage;
    image01->load(":/images/icon/pdfsplit.ico");
    lbl01->setPixmap(QPixmap::fromImage(*image01));
    lbl01->setScaledContents(true);

    QPixmap pixMapOgi01(":/images/icon/icon1.png");
    QLabel *lbl02 = new QLabel(u8"衛(wèi)星軌道1測試");
    QPushButton* btn01 = new QPushButton;
    int btnWidth = btn01->width();
    int btnHeight = btn01->height();
    QPixmap pixmapFit = pixMapOgi01.scaled(btnWidth, btnHeight, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);

    btn01->setIcon(pixmapFit);
    btn01->setStyleSheet(QString("QPushButton {background-color: transparent; }"));
    btn01->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    layout->addWidget(lbl01, 0, Qt::AlignVCenter | Qt::AlignLeft);
    layout->addWidget(lbl02);
    layout->addWidget(btn01, 0, Qt::AlignVCenter | Qt::AlignRight);
    widget->setLayout(layout);
    item1->setSizeHint(widget->sizeHint()); // 設置item大小
    // item5->setData(Qt::UserRole, 1);
    _listWgtLeft->setItemWidget(item1, widget); // 設置item控件

    _splitterMain->setStretchFactor(0, 4);
    _splitterMain->setStretchFactor(1, 6);

    _splitterMain->setWindowTitle(tr("test splitter"));
    itemMainLyt->addWidget(_splitterMain);

    setLayout(itemMainLyt);

    //右鍵彈出菜單
    _popMenuLeft = new QMenu(_listWgtLeft);
    QAction* addAct = new QAction(tr("add"));
    QAction* resetHidAct = new QAction(tr("reset hide"));
    QAction* cutAct = new QAction(tr("cut"));
    QAction* copyAct = new QAction(tr("copy"));
    QAction* delAct = new QAction(tr("delete"));
    _popMenuLeft->addAction(addAct);
    _popMenuLeft->addAction(resetHidAct);
    _popMenuLeft->addAction(cutAct);
    _popMenuLeft->addAction(copyAct);
    _popMenuLeft->addAction(delAct);

    connect(_listWgtLeft, &QListView::customContextMenuRequested, this, &listControl::onMenuPopSlot);
}

void listControl::onMenuPopSlot(const QPoint &pos)
{
    // _popMenuLeft->exec(QCursor::pos());
    _popMenuLeft->exec(_listWgtLeft->mapToGlobal(pos));
}

代碼調用

```cpp
#include "MainWindow.h"
#include "listControl.h"
#include <QApplication>
#include <QTextCodec>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // MainWindow w;
    // w.show();

    a.setFont(QFont("Microsoft Yahei", 9));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    qDebug() << "中文調試信息";

    QFont font("ZYSong18030" , 10);
    a.setFont(font);

    listControl* contrl = new listControl;
    contrl->show();

    return a.exec();
}

運行效果
Qt5.15.2中加入圖片資源,Qt,qt,窗口分割,QSplitter


到了這里,關于Qt5.15.2中加入圖片資源的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Qt5.15.2安卓Android項目開發(fā)環(huán)境配置

    官方下載:https://download.qt.io/archive/qtcreator/4.11/4.11.2/ 鏡像下載:https://mirrors.cloud.tencent.com/qt/archive/qtcreator/4.11/4.11.2/ 官方更新器內部下載 參考:https://blog.csdn.net/weixin_41013202/article/details/129957693 https://adoptium.net/zh-CN/temurin/releases/ (1) Android SDK Platform 最新版(現在是33) (2)

    2024年02月14日
    瀏覽(22)
  • 在線安裝Qt(全網最詳細圖文版)--以Qt5.15.2 Windows版為例

    在線安裝Qt(全網最詳細圖文版)--以Qt5.15.2 Windows版為例

    作者:靠普科技 時間:2023/8/18 版本:V1.0 說明:本文系作者原創(chuàng),轉載前請務必聯(lián)系本文作者。 接觸幾年Qt有余,發(fā)現部分開發(fā)人員對Qt的認識遠遠不夠,僅僅停留在表面。甚至有較少部分人認為Qt是一種開發(fā)編程語言或者將QTCreator當做Qt,這些理解都是錯誤的且過于片面。實

    2024年02月06日
    瀏覽(26)
  • QT5.15.2 在線安裝下載速度慢的解決辦法

    QT5.15.2 在線安裝下載速度慢的解決辦法

    QT對5.15以及以上版本已經停止提供離線安裝包,在線安裝網速慢如蝸牛,而且一旦斷了又得從頭下載,不支持斷點續(xù)傳 由于Qt5.15及以上版本不提供離線安裝包,則需要使用在線安裝進行安裝。首先下載在線安裝器: 下載加速需要使用清華源 QT 地址 我宿舍網速是100兆,所以最

    2024年02月13日
    瀏覽(64)
  • [QT5.15.2] QtCreator不支持中文輸入解決方案

    [QT5.15.2] QtCreator不支持中文輸入解決方案

    操作系統(tǒng):優(yōu)麒麟22.04.2 LTS QT版本:QT5.15.2 這個大家在網上找找,可以很輕松的安裝成功。 先安裝QtCreator, 安裝這塊大家可自行網上找找。 成功后,打開QtCreator,新建工程; 打開main.cpp或者其他文件,發(fā)現無法輸入中文。 網上有很多解決方案,就是將 /usr/lib/x86_64-linux-gnu/qt5/

    2024年02月11日
    瀏覽(18)
  • VS2019+OpenCV+Qt5.15.2安裝及工程配置

    VS2019+OpenCV+Qt5.15.2安裝及工程配置

    目錄 一、下載鏈接 1.1 VS2019下載安裝 1.2 OpenCV下載安裝 1.3 Qt5.15下載安裝 二、工程環(huán)境配置 2.1 OpenCV環(huán)境配置 2.1.1? 環(huán)境變量配置 2.1.2 工程屬性表配置 ?2.1.3 重啟vs測試 ?2.2 Qt環(huán)境配置 2.2.1 Qt Creator設置 ?2.2.2 VS2019配置 ?2.2.3 創(chuàng)建Qt項目 2.2.4 UI 設計配置 該文件僅 1.39 MB,是 VS

    2024年02月16日
    瀏覽(40)
  • jetson-nano編譯qt5.15.2帶opengl,xcb

    項目需求原因,需要編譯高版本qt到jetson-nano板子,歷經10天來回折騰,終于是成功了。期間歷經交叉編譯失敗,然后轉直接編譯,然后嘗試各種版本的坑,最后整理的方法異常簡單,只需6小時左右即可流暢在板子上編譯成功。文章最后有我編譯好的qt-5.15.2版本鏈接。 友情提

    2023年04月09日
    瀏覽(54)
  • QT5.15.2搭建Android編譯環(huán)境及使用模擬器調試(全)

    QT5.15.2搭建Android編譯環(huán)境及使用模擬器調試(全)

    地址:下載 我電腦的windows的,所以選windows 由于官方安裝過程非常非常慢,一定要跟著步驟來安裝,不然慢到懷疑人生 1)打開\\\"命令提示符\\\"(開始 - Windows 系統(tǒng) - 命令提示符) 或者 “win+R” -輸入cmd 找到剛才的exe 命令行輸入以下命令(exe位置根據自己實際的),然后回車

    2024年02月04日
    瀏覽(25)
  • Linux Qt5.15.2 編譯QWebEngine源碼支持音視頻H264

    Linux Qt5.15.2 編譯QWebEngine源碼支持音視頻H264

    默認自帶的QWebEngine 因版權問題不支持音視頻功能,需要自己編譯源碼以支持。 平臺:Linux(UOS V20 1050) Qt:5.15.2 下載 Qt 5.15.2 對應版本源碼,使用鏡像網站或者Qt Maintenance Tool工具下載。 配置 Qt 環(huán)境變量 將以下內容追加到bashrc文件后 刷新使其生效 這個階段可以預先安裝所

    2024年02月05日
    瀏覽(51)
  • QtCreator12無法識別Qt5.15.2的安卓SDK與NDK配置解決

    QtCreator12無法識別Qt5.15.2的安卓SDK與NDK配置解決

    解決方法: 設置JDK為JDK11 使用Android Studio下載 Android SDK Command-line Tools 10.0 ? 打開Android SDK Location :? ?雙擊打開cmdline-tools 復制10.0中所有東西到latest中 ? 點擊Manage Kits并選擇Devices? ?然后點擊Android會彈出下圖窗口,并自動更 安裝完成 ? 成功識別 ?

    2024年01月18日
    瀏覽(18)
  • 音視頻源碼調試前準備vs2019+qt5.15.2搭建可調試環(huán)境

    音視頻源碼調試前準備vs2019+qt5.15.2搭建可調試環(huán)境

    安裝vs2019+qt,并且在windows環(huán)境上安裝ffmpeg,嘗試使用qt+cdb進行調試,嘗試使用vs2019加載qt的程序。 安裝VS2019+5.12.2qt環(huán)境,并進行測試。 1:安裝Visual Studio 2019, a.從官網下載,或者vs2019社區(qū)版本下載地址 https://www.jb51.net/softs/700418.htm ====》 安裝時必須勾選 Desktop development with C++

    2024年02月05日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包