歡迎您光臨本站 註冊首頁

Qt 學習實例教程

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
  1. //mydialog.h   
  2. #ifndef MYDIALOG_H   
  3. #define MYDIALOG_H   
  4. #include    
  5. class QPushButton;  
  6. class MyDialog : public QDialog  
  7. {  
  8.   Q_OBJECT  
  9. public:  
  10.   explicit MyDialog(QWidget *parent = 0);  
  11. signals:  
  12. public slots:  
  13. private:  
  14.   QPushButton *pushButton3D;  
  15.   QPushButton *pushButton2D;  
  16. };  
  17. #endif // MYDIALOG_H  

 

  1. //mydialog.cpp   
  2. #include "mydialog.h"   
  3. #include    
  4. #include    
  5. #include    
  6. MyDialog::MyDialog(QWidget *parent) :  
  7.   QDialog(parent)  
  8. {  
  9.   pushButton3D = new QPushButton();  
  10.   //創建一個圖標QIcon對象 資源文件路徑可以是絕對路徑 也可以是導入工程中后資源文件的路徑   
  11.   QIcon icon3D(":/new/ico/images/3d.ico");  
  12.   //設置按鈕的圖標   
  13.   pushButton3D->setIcon(icon3D);  
  14.   
  15.   pushButton2D = new QPushButton();  
  16.   QIcon icon2D(":/new/ico/images/2d.ico");  
  17.   pushButton2D->setIcon(icon2D);  
  18.   //將按鈕設置為2D平面顯示 還是一個按鈕 可以進行點擊操作   
  19.   pushButton2D->setFlat(true);  
  20.   //設置按鈕的文本信息   
  21.   pushButton2D->setText("Test");  
  22.   
  23.   QVBoxLayout *layout = new QVBoxLayout();  
  24.   layout->addWidget(pushButton2D);  
  25.   layout->addWidget(pushButton3D);  
  26.   
  27.   this->setLayout(layout);  
  28.   this->resize(100, 100);  
  29.   this->setWindowTitle("QPushButtonDemo");  
  30. }  
  1. //main.cpp   
  2. #include    
  3. #include "mydialog.h"   
  4. int main(int argc, char *argv[])  
  5. {  
  6.   QApplication a(argc, argv);  
  7.   MyDialog dialog;  
  8.   dialog.show();  
  9.   return a.exec();  
  10. }  

資源文件截圖:

程序運行截圖:

  1. //mydialog.h   
  2. #ifndef MYDIALOG_H   
  3. #define MYDIALOG_H   
  4. #include    
  5. class QLCDNumber;  
  6. class QTimer;  
  7. class MyDialog : public QDialog  
  8. {  
  9.   Q_OBJECT  
  10. public:  
  11.   explicit MyDialog(QWidget *parent = 0);  
  12. signals:  
  13. public slots:  
  14.   void onTimerOut();  
  15. private:  
  16.   QLCDNumber *lcd;  
  17.   QTimer *timer;  
  18. };  
  19. #endif // MYDIALOG_H  
  1. //mydialog.cpp   
  2. #include "mydialog.h"   
  3. #include    
  4. #include    
  5. #include    
  6. #include    
  7. MyDialog::MyDialog(QWidget *parent) :  
  8.   QDialog(parent)  
  9. {  
  10.   //新建一個QLCDNumber對象   
  11.   lcd = new QLCDNumber();  
  12.   //設置晶體管控制項QLCDNumber能顯示的位數   
  13.   lcd->setDigitCount(10);  
  14.   //設置顯示的模式為十進位   
  15.   lcd->setMode(QLCDNumber::Dec);  
  16.   //設置顯示方式   
  17.   lcd->setSegmentStyle(QLCDNumber::Flat);  
  18.   
  19.   //新建一個QTimer對象   
  20.   timer = new QTimer();  
  21.   //設置定時器每個多少毫秒發送一個timeout()信號   
  22.   timer->setInterval(1000);  
  23.   //啟動定時器   
  24.   timer->start();  
  25.   
  26.   QVBoxLayout *layout = new QVBoxLayout();  
  27.   layout->addWidget(lcd);  
  28.   //信號和槽   
  29.   connect(timer, SIGNAL(timeout()), this, SLOT(onTimerOut()));  
  30.   
  31.   //重新設置窗口的布局管理器   
  32.   this->setLayout(layout);  
  33.   //重新設置窗口的大小   
  34.   this->resize(200, 100);  
  35.   //重新設置窗口的標題   
  36.   this->setWindowTitle("QTimerDemo");  
  37. }  
  38.   
  39. void MyDialog::onTimerOut()  
  40. {  
  41.   //獲取系統當前時間   
  42.   QTime time = QTime::currentTime();  
  43.   //設置晶體管控制項QLCDNumber上顯示的內容   
  44.   lcd->display(time.toString("hh:mm:ss"));  
 
  1. //main.cpp   
  2. #include    
  3. #include "mydialog.h"   
  4. int main(int argc, char *argv[])  
  5. {  
  6.   QApplication a(argc, argv);  
  7.   MyDialog dialog;  
  8.   dialog.show();  
  9.   return a.exec();  
  10. }  

程序運行截圖:

  1. //mydialog.h   
  2. #ifndef MYDIALOG_H   
  3. #define MYDIALOG_H   
  4. #include    
  5. class QLineEdit;  
  6. class QSlider;  
  7. class MyDialog : public QDialog  
  8. {  
  9.   Q_OBJECT  
  10. public:  
  11.   explicit MyDialog(QWidget *parent = 0);  
  12. signals:  
  13. public slots:  
  14.   void setLineEditValue(int value);  
  15. private:  
  16.   QLineEdit *lineEdit;  
  17.   QSlider *slider;  
  18. };  
  19. #endif // MYDIALOG_H   
 
  1. //mydialog.cpp   
  2. #include "mydialog.h"   
  3. #include    
  4. #include    
  5. #include    
  6. MyDialog::MyDialog(QWidget *parent) :  
  7.   QDialog(parent)  
  8. {  
  9.   lineEdit = new QLineEdit("50");  
  10.   
  11.   //新建一個水平方向的滑動條QSlider控制項   
  12.   slider = new QSlider(Qt::Horizontal);  
  13.   //設置滑動條控制項的最小值   
  14.   slider->setMinimum(0);  
  15.   //設置滑動條控制項的最大值   
  16.   slider->setMaximum(100);  
  17.   //設置滑動條控制項的值   
  18.   slider->setValue(50);  
  19.   
  20.   //信號和槽 當滑動條的值發生改變時,即產生一個valueChanged(int)信號 設置QLineEdit控制項的顯示文本   
  21.   connect(slider, SIGNAL(valueChanged(int)), this, SLOT(setLineEditValue(int)));  
  22.   
  23.   QHBoxLayout *layout = new QHBoxLayout();  
  24.   layout->addWidget(lineEdit);  
  25.   layout->addWidget(slider);  
  26.   
  27.   this->setLayout(layout);  
  28.   this->resize(200, 50);  
  29.   this->setWindowTitle("QSliderDemo");  
  30. }  
  31.   
  32. void MyDialog::setLineEditValue(int value)  
  33. {  
  34.   int pos = slider->value();  
  35.   QString str = QString("%1").arg(pos);  
  36.   lineEdit->setText(str);  
  37. }  
 
  1. //main.cpp   
  2. #include    
  3. #include "mydialog.h"   
  4. int main(int argc, char *argv[])  
  5. {  
  6.   QApplication a(argc, argv);  
  7.   MyDialog dialog;  
  8.   dialog.show();  
  9.   return a.exec();  
  10. }  

程序運行截圖:

  1. //mydialog.h   
  2. #ifndef MYDIALOG_H   
  3. #define MYDIALOG_H   
  4. #include    
  5. class QComboBox;  
  6. class MyDialog : public QDialog  
  7. {  
  8.   Q_OBJECT  
  9. public:  
  10.   explicit MyDialog(QWidget *parent = 0);  
  11. signals:  
  12. public slots:  
  13.   void onChanged(int index);  
  14. private:  
  15.   QComboBox *comboBox;  
  16. };  
  17. #endif // MYDIALOG_H  
  1. //mydialog.cpp   
  2. #include "mydialog.h"   
  3. #include    
  4. #include 

好文,頂一下
(1)
25%
文章真差,踩一下
(3)
75%
------分隔線----------------------------
  • 上一篇:Android平台下基於XMPP的IM研究
  • 下一篇:10 個富有吸引力的 iPhone 應用開發教程
  • 我要評論!
  • 收藏
  • 挑錯
  • 推薦
  • 列印


把開源帶在你的身邊-精美linux小紀念品

[火星人 ] Qt 學習實例教程已經有556次圍觀

http://coctec.com/docs/program/show-post-71489.html