歡迎您光臨本站
註冊
首頁
搜尋
首頁
資訊
文檔
開源
問答
知識
專題
開源互助社區
>
文檔
>
編程開發
Qt 學習實例教程
←手機掃碼閱讀
火星人
@ 2014-03-12 ,
reply:0
//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include
class
QPushButton;
class
MyDialog :
public
QDialog
{
Q_OBJECT
public
:
explicit
MyDialog(QWidget *parent = 0);
signals:
public
slots:
private
:
QPushButton *pushButton3D;
QPushButton *pushButton2D;
};
#endif // MYDIALOG_H
//mydialog.cpp
#include "mydialog.h"
#include
#include
#include
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent)
{
pushButton3D =
new
QPushButton();
//創建一個圖標QIcon對象 資源文件路徑可以是絕對路徑 也可以是導入工程中后資源文件的路徑
QIcon icon3D(
":/new/ico/images/3d.ico"
);
//設置按鈕的圖標
pushButton3D->setIcon(icon3D);
pushButton2D =
new
QPushButton();
QIcon icon2D(
":/new/ico/images/2d.ico"
);
pushButton2D->setIcon(icon2D);
//將按鈕設置為2D平面顯示 還是一個按鈕 可以進行點擊操作
pushButton2D->setFlat(
true
);
//設置按鈕的文本信息
pushButton2D->setText(
"Test"
);
QVBoxLayout *layout =
new
QVBoxLayout();
layout->addWidget(pushButton2D);
layout->addWidget(pushButton3D);
this
->setLayout(layout);
this
->resize(100, 100);
this
->setWindowTitle(
"QPushButtonDemo"
);
}
//main.cpp
#include
#include "mydialog.h"
int
main(
int
argc,
char
*argv[])
{
QApplication a(argc, argv);
MyDialog dialog;
dialog.show();
return
a.exec();
}
資源文件截圖:
程序運行截圖:
//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include
class
QLCDNumber;
class
QTimer;
class
MyDialog :
public
QDialog
{
Q_OBJECT
public
:
explicit
MyDialog(QWidget *parent = 0);
signals:
public
slots:
void
onTimerOut();
private
:
QLCDNumber *lcd;
QTimer *timer;
};
#endif // MYDIALOG_H
//mydialog.cpp
#include "mydialog.h"
#include
#include
#include
#include
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent)
{
//新建一個QLCDNumber對象
lcd =
new
QLCDNumber();
//設置晶體管控制項QLCDNumber能顯示的位數
lcd->setDigitCount(10);
//設置顯示的模式為十進位
lcd->setMode(QLCDNumber::Dec);
//設置顯示方式
lcd->setSegmentStyle(QLCDNumber::Flat);
//新建一個QTimer對象
timer =
new
QTimer();
//設置定時器每個多少毫秒發送一個timeout()信號
timer->setInterval(1000);
//啟動定時器
timer->start();
QVBoxLayout *layout =
new
QVBoxLayout();
layout->addWidget(lcd);
//信號和槽
connect(timer, SIGNAL(timeout()),
this
, SLOT(onTimerOut()));
//重新設置窗口的布局管理器
this
->setLayout(layout);
//重新設置窗口的大小
this
->resize(200, 100);
//重新設置窗口的標題
this
->setWindowTitle(
"QTimerDemo"
);
}
void
MyDialog::onTimerOut()
{
//獲取系統當前時間
QTime time = QTime::currentTime();
//設置晶體管控制項QLCDNumber上顯示的內容
lcd->display(time.toString(
"hh:mm:ss"
));
}
//main.cpp
#include
#include "mydialog.h"
int
main(
int
argc,
char
*argv[])
{
QApplication a(argc, argv);
MyDialog dialog;
dialog.show();
return
a.exec();
}
程序運行截圖:
//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include
class
QLineEdit;
class
QSlider;
class
MyDialog :
public
QDialog
{
Q_OBJECT
public
:
explicit
MyDialog(QWidget *parent = 0);
signals:
public
slots:
void
setLineEditValue(
int
value);
private
:
QLineEdit *lineEdit;
QSlider *slider;
};
#endif // MYDIALOG_H
//mydialog.cpp
#include "mydialog.h"
#include
#include
#include
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent)
{
lineEdit =
new
QLineEdit(
"50"
);
//新建一個水平方向的滑動條QSlider控制項
slider =
new
QSlider(Qt::Horizontal);
//設置滑動條控制項的最小值
slider->setMinimum(0);
//設置滑動條控制項的最大值
slider->setMaximum(100);
//設置滑動條控制項的值
slider->setValue(50);
//信號和槽 當滑動條的值發生改變時,即產生一個valueChanged(int)信號 設置QLineEdit控制項的顯示文本
connect(slider, SIGNAL(valueChanged(
int
)),
this
, SLOT(setLineEditValue(
int
)));
QHBoxLayout *layout =
new
QHBoxLayout();
layout->addWidget(lineEdit);
layout->addWidget(slider);
this
->setLayout(layout);
this
->resize(200, 50);
this
->setWindowTitle(
"QSliderDemo"
);
}
void
MyDialog::setLineEditValue(
int
value)
{
int
pos = slider->value();
QString str = QString(
"%1"
).arg(pos);
lineEdit->setText(str);
}
//main.cpp
#include
#include "mydialog.h"
int
main(
int
argc,
char
*argv[])
{
QApplication a(argc, argv);
MyDialog dialog;
dialog.show();
return
a.exec();
}
程序運行截圖:
//mydialog.h
#ifndef MYDIALOG_H
#define MYDIALOG_H
#include
class
QComboBox;
class
MyDialog :
public
QDialog
{
Q_OBJECT
public
:
explicit
MyDialog(QWidget *parent = 0);
signals:
public
slots:
void
onChanged(
int
index);
private
:
QComboBox *comboBox;
};
#endif // MYDIALOG_H
//mydialog.cpp
#include "mydialog.h"
#include
#include
好文,頂一下
(1)
25%
文章真差,踩一下
(3)
75%
------分隔線----------------------------
上一篇:Android平台下基於XMPP的IM研究
下一篇:10 個富有吸引力的 iPhone 應用開發教程
我要評論!
收藏
挑錯
推薦
列印
把開源帶在你的身邊-精美linux小紀念品
Tags:
LOTUS 學習技巧 連載
Linux/Unix下ODBC的安裝、配置與編程
OpenLDAP集中管理用戶帳號學習筆記(2009-10-23更新)
清華申請退學博士作品:完全用Linux工作
探索 Pexpect,第 2 部分:Pexpect 的實例分析
很實用的linux入門教程!
新手 學習 Postfix 遇到問題
KDE常見問題
linux問答99
nginx反向代理配置實例(前nginx+后apache)靜,動態核心分離
配置cluster,手動開啟的服務被cluster停止
qt中常用工程文件的介紹 .
QT的信號與槽機制介紹
Spring中bean的實例化順序
開始學習RED HAT LINUX了
Linux下刪除oracle實例
linux系統Qt實現簡單的任務管理器
LinuxAid 網站配置實例(一)
網站綜合實例
Linux常用辭彙及術語大全
SAMBA服務實例
嵌入式Linux用Qt Designer快速開發
用Scala實現Qt QWidget對象的Eventable介面
輕鬆學習Linux之用戶賬戶管理及實例
可更新的註冊式的單實例模式
內核學習第一步:查看源碼Vim+Cscope
Nokia宣布Qt 軟體以LGPL發布
系統調用
近期學習DNS的幾個問題需要請教大家。(netman老大看見請進!)
A1200手機新手入門LINUX教程
[
火星人
]
Qt 學習實例教程
已經有
556
次圍觀
本文地址:
http://coctec.com/docs/program/show-post-71489.html
熱門文章
Android Wi-Fi Display(Miracast)介紹
MariaDB 10.0 和 MySQL 5.6 有何不同
8 個很棒的免費的 C++ GUI 庫
16 個使用 CSS3 和 jQuery 製作的載入中動畫
分享21個超棒的單頁面HTML作品集展示模板
在 Linux 里搭建 Android App 開發環境
好吧,Python的缺點是什麼呢
手把手教你用好LINQ to SQL
Android自定義Shape 加上陰影shadow之方法
Perl 與 Python 之間的一些異同
最新文章
Unity UGUI實現簡單拖拽圖片功能
Unity實現俄羅斯方塊遊戲
淺談tensorflow使用張量時的一些注意點tf.concat,tf.reshape,tf.stack
解決tensorflow 釋放圖,刪除變數問題
TensorFlow中如何確定張量的形狀例項
SHA:安全雜湊演演算法簡析
深入分析Ruby 變數
Ruby 迭代器知識彙總
UnityWebRequest前後端交互實現過程解析
淺談Scala模式匹配