Qt精彩例項(2)

2021-06-17 21:59:28 字數 3085 閱讀 6315

例項5.各種訊息框

dialog.h

#ifndef dialog_h

#define dialog_h

#include #include #include namespace ui

class dialog : public qdialog

;#endif // dialog_h

dialog.cpp

#include "dialog.h"

#include "ui_dialog.h"

#include #include dialog::dialog(qwidget *parent) :

qdialog(parent),

ui(new ui::dialog)

dialog::~dialog()

void dialog::slotquestion()

return;

}void dialog::slotinformation()

void dialog::slotwarning()

return;

}void dialog::slotcritical()

void dialog::slotabout()

void dialog::slotaboutqt()

void dialog::slotcustom()

main.cpp

#include int main(int argc, char *argv)

例項6.qq
drawer.h

#ifndef drawer_h

#define drawer_h

#include #include class drawer : public qtoolbox

;#endif // drawer_h

drawer.cpp

#include "drawer.h"

#include #include drawer::drawer(qwidget *parent) :

qtoolbox(parent)

qtoolbutton * drawer::inittoolbutton(const qstring &stext, const qstring &siconfile)

main.cpp

#include "drawer.h" // 自定義類標頭檔案

#include int main(int argc, char *argv)

例項7.**的使用
table.h

#ifndef table_h

#define table_h

#include // 包含了qt基本標頭檔案和gui標頭檔案。gui:圖形使用者介面。

class table : public qtablewidget

; enum work;

public:

table();

~table();

private:

void setrowdata(int row, table::*** ***, qstring name, table::work work, int income=0); // 設定一行資料

};#endif // table_h

table.cpp

#include "table.h"

table::table():qtablewidget()

table::~table()

void table::setrowdata(int row, table::*** ***, qstring name, table::work work, int income)

else

setcellwidget(row, 0, plable***); // 新增控制項到**的單元格

setcolumnwidth(0, 48);

qtablewidgetitem *ptwitem = new qtablewidgetitem(name);

setitem(row, 1, ptwitem);

qdatetimeedit *pdte= new qdatetimeedit(); // 日期時間控制項

pdte->setdatetime(qdatetime::currentdatetime()); // 設定日期時間控制項的值為當前時間

pdte->setdisplayformat("yyyy-mm-dd"); // 設定顯示樣式為「年-月-日」

pdte->setcalendarpopup(true); // 設定是否彈出日曆編輯器

setcellwidget (row, 2, pdte);

setcolumnwidth(2, 120);

qcombobox *pcb = new qcombobox(); // 下拉選擇框控制項

pcb->additem(tr("worker"));

pcb->additem(tr("farmer"));

pcb->additem(tr("doctor"));

pcb->additem(tr("lawyer"));

pcb->additem(tr("soldier"));

pcb->additem(tr("teacher"));

pcb->setcurrentindex(work); // 設定選中項

setcellwidget(row, 3, pcb);

qspinbox *psb = new qspinbox(); // 數字上下增減框

psb->setmaximum(20000);

psb->setvalue(income);

setcellwidget(row, 4, psb);

}main.cpp

#include "table.h" // 自定義類標頭檔案

int main(int argc, char *argv)

Qt精彩例項(4) 自己實現的軟體管家介面

例項12.qq使用者資料修改layoutdlg.h ifndef layoutdlg h define layoutdlg h include class layoutdlg public qdialog endif layoutdlg h layoutdlg.cpp include layoutd...

精彩BUG人生 2 不對齊的精彩

說到對齊,不少學習c語言的同學自然會想到資料結構中成員的對齊,比如,常有面試題目是會問 struct char a short b int c 占用幾個位元組?這個不恰當的例子確實是和對齊有些相關,但有幾個人遇到不對齊的麻煩了呢?昨天發現乙個奇怪的現象 點燈測試 正常,加入了乙個函式塊就不正常了,塊...

開發精彩例項 窗體自動隱藏

else else else if prect right near size screenx if aligntype align left else else if aligntype align right else 在窗體初始化是設定窗體狀態,如果可以停靠,便停靠在邊緣 我本想尋求其他方法來...