Qt學習筆記day02

2021-08-05 19:47:54 字數 3302 閱讀 3813

帶引數的訊號
由於訊號可以過載,則在處理訊號的時候,要注意處理方式

qt5的方法:採用函式指標的方法指向過載的函式

void (subwidget::*funsignal)() = &subwidget::mysignal;

connect(&w,funsignal,this,&mainwidget::dealsub);

void (subwidget::*testsignal)(int ,qstring) = &subwidget::mysignal;

connect(&w,testsignal,this,&mainwidget::dealslot);

qt4的處理方法:採用巨集的方式

//qt4訊號連線

//qt4槽函式必須有slots關鍵字來修飾

connect(&w,signal(mysignal()),this,slot(dealsub()));

connect(&w,signal(mysignal(int,qstring)),this,slot(dealslot(int,qstring)));

// signal slot 將函式名字->字串 不進行錯誤檢查

lambda表示式
//lambda表示式 匿名函式

//c++11增加的新特性,專案檔案:config += c++11

//qt配合訊號一起使用非常方便

qpushbutton *b4 = new qpushbutton(this);

b4->settext("lambda表示式");

b4->move(150,150);

connect(b4,&qpushbutton::released,

// = :把外部所有區域性變數,類中所有成員以值傳遞方式

[=]()

);

座標系統,記憶體**機制

選單欄,工具欄,核心控制項,浮動視窗,模態和非模態對話方塊,標準對話方塊和檔案對話方塊

#include "mainwindow.h"

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

mainwindow::mainwindow(qwidget *parent)

: qmainwindow(parent)

);//工具欄,選單欄的快捷方式

q******* ******** = add*******("*******");

//工具欄新增快捷鍵

*******->addaction(pnew);

qpushbutton *b = new qpushbutton(this);

//新增小部件

*******->addwidget(b);

connect(b,&qpushbutton::clicked,

[=]()

);//狀態列

qstatusbar *sbar = statusbar();

qlabel *label = new qlabel(this);

label->settext("normal text file");

sbar->addwidget(label);

//addwidget 從右往左新增

sbar->addwidget(new qlabel("2",this));

//addpermanentwidget 從右往左新增

sbar->addpermanentwidget(new qlabel("3",this));

//核心控制項

qtextedit *textedit = new qtextedit(this);

setcentralwidget(textedit);

//浮動視窗

qdockwidget *dock = new qdockwidget(this);

adddockwidget(qt::rightdockwidgetarea,dock);

dock->setwidget(textedit);

resize(400,400);

}mainwindow::~mainwindow()

#include "mainwindow.h"

#include

#include

#include

#include

#include

#include

#include

mainwindow::mainwindow(qwidget *parent)

: qmainwindow(parent)

);qaction *p2 = menu->addaction("非模態對話方塊");

connect(p2,&qaction::triggered,

[=]()

);qaction *p3 = menu->addaction("關係對話方塊");

connect(p3,&qaction::triggered,

[=]()

);qaction *p4 = menu->addaction("問題對話方塊");

connect(p4,&qaction::triggered,

[=]()});

qaction *p5 = menu->addaction("檔案對話方塊");

Python學習筆記 day02

一 組織列表 1.s.sort 方法可以將列表中的元素按照從小到大的順序排序,而且是永久的改變了 s的元素順序。如果想要倒序排序,則使用 s.sort reverse true 即可。2.sorted s 方法可以將列表 s按照從小到大的順序顯示出來,但只是臨時性地讓 s可以按照從小到大的順序顯示,...

Vue學習筆記day02總結

目錄 1.品牌新增 刪除 查詢案例 2.過濾器 2.1全域性過濾器 2.2私有過濾器 3.字串的padstart方法的使用 指定顯示長度 4.自定義全域性按鍵修飾符 5.自定義指令 5.1自定義全域性指令 5.1.1 自定義全域性指令讓文字框獲取焦點 5.1.2 自定義全域性指令設定字型顏色 使用鉤...

python學習筆記 day02 初始編碼

電腦上儲存的都是0101這種二進位制 ascii碼建立初期,僅僅是供美國是用,大小寫加上特殊字元100多個足夠,所以最開始的ascii碼只設計7位,但是設計者預留了一位 以便後續擴充,也就是8位 所以最原始的ascii 最左邊的一位是0,預留位,擴充使用,7位夠,為了擴充套件預留一位 8位表示乙個位...