QT日常学习代码一

1、在QMainWindow中使用QAction

// ========== mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
 
class MainWindow : public QMainWindow
{
     Q_OBJECT
public :
     MainWindow ( QWidget * parent = 0 ) ;
     ~ MainWindow ( ) ;
 
private :
     void open ( ) ;
 
     QAction * openAction ;
} ;
 
#endif // MAINWINDOW_H
 
// ========== mainwindow.cpp
#include <QAction>
#include <QMenuBar>
#include <QMessageBox>
#include <QStatusBar>
#include <QToolBar>
 
#include "mainwindow.h"
 
MainWindow :: MainWindow ( QWidget * parent ) :
     QMainWindow ( parent )
{
     setWindowTitle ( tr ( "Main Window" ) ) ;
 
     openAction = new QAction ( QIcon ( ":/images/doc-open" ) , tr ( "&Open..." ) , this ) ;
     openAction -> setShortcuts ( QKeySequence :: Open ) ;
     openAction -> setStatusTip ( tr ( "Open an existing file" ) ) ;
     connect ( openAction , & QAction :: triggered , this , & MainWindow :: open ) ;
 
     QMenu * file = menuBar ( ) -> addMenu ( tr ( "&File" ) ) ;
     file -> addAction ( openAction ) ;
 
     QToolBar * toolBar = addToolBar ( tr ( "&File" ) ) ;
     toolBar -> addAction ( openAction ) ;
 
     statusBar ( ) ;
}
 
MainWindow :: ~ MainWindow ( )
{
}
 
void MainWindow :: open ( )
{
     QMessageBox :: information ( this , tr ( "Information" ) , tr ( "Open" ) ) ;
}

// ========== main()

int main ( int argc , char * argv [ ] )
{
     QApplication app ( argc , argv ) ;
 
     MainWindow win ;
     win . show ( ) ;
 
     return app . exec ( ) ;
}



2、QT布局管理器:

int main ( int argc , char * argv [ ] )
{
     QApplication app ( argc , argv ) ;
 
     QWidget window ;
     window . setWindowTitle ( "Enter your age" ) ;
 
     QSpinBox * spinBox = new QSpinBox ( & window ) ;
     QSlider * slider = new QSlider ( Qt :: Horizontal , & window ) ;
     spinBox -> setRange ( 0 , 130 ) ;
     slider -> setRange ( 0 , 130 ) ;
 
     QObject :: connect ( slider , & QSlider :: valueChanged , spinBox , & QSpinBox :: setValue ) ;
     void ( QSpinBox :: * spinBoxSignal ) ( int ) = & QSpinBox :: valueChanged ;
     QObject :: connect ( spinBox , spinBoxSignal , slider , & QSlider :: setValue ) ;
     spinBox -> setValue ( 35 ) ;
 
     QHBoxLayout * layout = new QHBoxLayout ;
     layout -> addWidget ( spinBox ) ;
     layout -> addWidget ( slider ) ;
     window . setLayout ( layout ) ;
 
     window . show ( ) ;
 
     return app . exec ( ) ;
}
运行结果:

3、QT对话框

MainWindow :: MainWindow ( QWidget * parent )
     : QMainWindow ( parent )
{
     setWindowTitle ( tr ( "Main Window" ) ) ;
 
     openAction = new QAction ( QIcon ( ":/images/doc-open" ) , tr ( "&Open..." ) , this ) ;
     openAction -> setShortcuts ( QKeySequence :: Open ) ;
     openAction -> setStatusTip ( tr ( "Open an existing file" ) ) ;
     connect ( openAction , & QAction :: triggered , this , & MainWindow :: open ) ;
 
     QMenu * file = menuBar ( ) -> addMenu ( tr ( "&File" ) ) ;
     file -> addAction ( openAction ) ;
 
     QToolBar * toolBar = addToolBar ( tr ( "&File" ) ) ;
     toolBar -> addAction ( openAction ) ;
}
 
MainWindow :: ~ MainWindow ( )
{
}
 
void MainWindow :: open ( )
{
     QDialog dialog ;
     dialog . setWindowTitle ( tr ( "Hello, dialog!" ) ) ;
     dialog . exec ( ) ;
}
运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值