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

QT在自定義類中調(diào)用主類(界面類ui及其控件)的一種實用方法

這篇具有很好參考價值的文章主要介紹了QT在自定義類中調(diào)用主類(界面類ui及其控件)的一種實用方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在實際應(yīng)用中,經(jīng)常會出現(xiàn)需要自定義類訪問界面中的控件的情況,使用信號和槽進行跳轉(zhuǎn)往往過于繁瑣,使用下述方法可以巧妙解決:

界面類

QtWidgetsTest.h

#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsTest.h"
#include "CustomClass.h"
class QtWidgetsTest : public QMainWindow
{
    Q_OBJECT

public:
    QtWidgetsTest(QWidget *parent = nullptr);
    Ui::QtWidgetsTestClass ui;
    CustomClass* customClass;
};

QtWidgetsTest.cpp

#include "QtWidgetsTest.h"

QtWidgetsTest::QtWidgetsTest(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    customClass = new CustomClass(this); // 使用this指針實例化自定義類對象
    customClass->test(); // 調(diào)用函數(shù)
}

自定義類

CustomClass.h

  1. 首先包含ui頭文件(其實也可不寫,因為cpp里一定會包含QtWidgetsTest.h并包含ui文件),并聲明界面類,注意此處不能使用包含,否則會報重復(fù)包含頭文件的錯誤。
  2. 繼承QMainWindow類,便于使用connect方法。
  3. 在構(gòu)造時使用一個界面類指針作為參數(shù),并在成員變量中定義一個界面類指針。
#pragma once

#include "ui_QtWidgetsTest.h"

class QtWidgetsTest;
class CustomClass : public QMainWindow
{
public:
	CustomClass(QtWidgetsTest* parent = nullptr);
	void test();
	QtWidgetsTest* p;
};

CustomClass.cpp

  1. 包含界面類,否則報未定義QtWidgetsTest
  2. 在構(gòu)造中將成員變量的指針指向界面類傳來的指針變量。
#include "CustomClass.h"
#include "QtWidgetsTest.h"
CustomClass::CustomClass(QtWidgetsTest* parent)
{
	p = parent;
}
void CustomClass::test() {
	p->ui.pushButton->setText("test");
	connect(p->ui.pushButton, &QPushButton::clicked, [=]() {
		p->ui.pushButton->setText("clicked");
		});
}

這里實現(xiàn)了在自定義類中訪問ui控件并使用connect方法調(diào)用成員函數(shù),避免了頻繁使用信號和槽跳轉(zhuǎn)。如果涉及到多線程將自定義類繼承QThread并在start方法中訪問ui。文章來源地址http://www.zghlxwxcb.cn/news/detail-588456.html

到了這里,關(guān)于QT在自定義類中調(diào)用主類(界面類ui及其控件)的一種實用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Qt子線程控制主界面UI控件

    Qt子線程控制主界面UI控件

    在子線程里控制主界面的UI控件有兩種方法:第一種是在子線程中發(fā)送信號,然后在主線程中去更新;第二種方法是在子線程中創(chuàng)建同樣的對象,然后把主界面中控件的指針賦給創(chuàng)建的對象。 第一種方法在此不做實例展示,在此通過一個簡單的例子展示第二種方法: 下面是主

    2024年02月15日
    瀏覽(26)
  • Qt 6. 其他類調(diào)用Ui中的控件

    Qt 6. 其他類調(diào)用Ui中的控件

    1. 把主類指針this傳給其他類,tcpClientSocket = new TcpClient(this); 2. 把ui類改為公共類 3. 保存主類傳來的指針保存,通過該指針調(diào)用UI中的控件 4. 在pro文件中增加QT += network 5. 效果

    2024年02月13日
    瀏覽(23)
  • QT自定義優(yōu)雅的表單控件,簡單實現(xiàn)設(shè)置界面布局

    QT自定義優(yōu)雅的表單控件,簡單實現(xiàn)設(shè)置界面布局

    FormView.h FormView.cpp 核心函數(shù) 函數(shù) 變量 功能 addEditableItem title: 輸入框前面的提示文字,同時作為該控件的標識符 place_holder: 輸入框中的提示文字 在表單中插入一個可填寫項 addCheckableItem title: 不顯示在UI中,僅作為該控件的標識符 content: 勾選框后面的內(nèi)容 init_status: 勾選框的初

    2024年02月11日
    瀏覽(29)
  • Qt調(diào)用主界面ui

    Qt調(diào)用主界面ui

    在其他類中使用主界面ui,this,控件操作等 首先,子類需要包含主界面的頭文件和ui_xx.h文件,聲明主界面類 然后使用構(gòu)造函數(shù)把主界面的指針傳遞給子類 子類頭文件: 子類cpp文件: 主界面頭文件設(shè)置ui為公有: 主界面cpp文件設(shè)置: 效果圖:

    2024年02月02日
    瀏覽(30)
  • 【QT】自定義對話框及其調(diào)用

    【QT】自定義對話框及其調(diào)用

    目錄 1 對話框的不同調(diào)用方式 2 對話框QWDialogSize的創(chuàng)建和使用 3 對話框QWDialogHeaders的創(chuàng)建和使用 4 對話框QWDialogLocate的創(chuàng)建與使用 5 利用信號與槽實現(xiàn)交互操作 ?? ??? ??在一個應(yīng)用程序設(shè)計中,為了實現(xiàn)一些特定的功能,必須設(shè)計自定義對話框。自定義對話框 的設(shè)計一般

    2024年01月17日
    瀏覽(23)
  • c#WPF 自定義UI控件學(xué)習,vb.net界面UI美化

    c#WPF 自定義UI控件學(xué)習,vb.net界面UI美化

    最近項目中運用到了WPF處理三維軟件,在C/S結(jié)構(gòu)中WPF做UI還是有很多優(yōu)越性,簡單的學(xué)了一點WPF知識,成功的完成項目目標。項目過度階段對于WPF的一些基本特點有了進一步了解 。至此花費一點時間研究研究WPF控件。 為以后的項目開發(fā)中提供一些可觀的資源也是不錯的。 目

    2024年02月20日
    瀏覽(21)
  • 【五一創(chuàng)作】VS+Qt主界面內(nèi)嵌自定義控件的四種方法以及不同自定義控件數(shù)據(jù)交互

    【五一創(chuàng)作】VS+Qt主界面內(nèi)嵌自定義控件的四種方法以及不同自定義控件數(shù)據(jù)交互

    在Qt界面開發(fā)過程中,一個主界面或者主窗口看成是各個控件排列組合后的集合,對于一些項目而言,有些常用的控件可以封裝成自己想要的控件樣式并且復(fù)用,比如說,log顯示控件,圖像/視頻顯示控件等,可以將常用的控件代碼封裝起來,以便下次復(fù)用,內(nèi)嵌在不同的主界

    2024年02月11日
    瀏覽(26)
  • 將QT的UI界面轉(zhuǎn)換成python文件并調(diào)用

    將QT的UI界面轉(zhuǎn)換成python文件并調(diào)用

    在QTcreator中或者QTdesigner中畫好的ui界面轉(zhuǎn)換成python文件,在pycharm中直接調(diào)用。 在pycharm中的終端運行命令 : *.py是對應(yīng)生成的python文件的名字,*.ui是畫的UI界面(對應(yīng)ui界面的路徑) 然后就會生成login.py文件,如下: 調(diào)用文件: 運行結(jié)果:

    2024年02月11日
    瀏覽(21)
  • Qt/C++自定義界面大全/20套精美皮膚/26套精美UI界面/一鍵換膚/自定義顏色/各種導(dǎo)航界面

    Qt/C++自定義界面大全/20套精美皮膚/26套精美UI界面/一鍵換膚/自定義顏色/各種導(dǎo)航界面

    這個系列對應(yīng)自定義控件大全,一個專注于控件的編寫,一個專注于UI界面的編寫,程序員有兩大軟肋,一個是忌諱別人說自己的程序很爛很多bug,一個就是不擅長UI,基本上配色就直接rgb,對于第一點,只要放松心態(tài),直面自己的不足,不斷改進,才能問鼎武林至尊。至于第

    2024年01月20日
    瀏覽(27)
  • 06-2_Qt 5.9 C++開發(fā)指南_自定義對話框及其調(diào)用

    06-2_Qt 5.9 C++開發(fā)指南_自定義對話框及其調(diào)用

    本篇介紹到的對話框及其調(diào)用實例較為復(fù)雜但十分詳細,如果做了解可以先參考:QT從入門到實戰(zhàn)x篇_13_模態(tài)和非模態(tài)對話框創(chuàng)建。 在一個應(yīng)用程序設(shè)計中,為了實現(xiàn)一些特定的功能,必須設(shè)計自定義對話框。自定義對話框的設(shè)計一般從QDialog 繼承,并且可以采用 UI 設(shè)計器可

    2024年02月13日
    瀏覽(36)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包