| Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
This example shows how to use a dialog with multiple tabs (pages). To start the program you have to specify a filename as the first argument. The dialog shows information about the file separated onto different tabs.
Header file:
/****************************************************************************
** $Id: qt/tabdialog.h 3.3.8 edited Jan 11 14:37 $
**
** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
**
** This file is part of an example program for TQt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#ifndef TABDIALOG_H
#define TABDIALOG_H
#include <ntqtabdialog.h>
#include <ntqstring.h>
#include <ntqfileinfo.h>
class TabDialog : public TQTabDialog
{
TQ_OBJECT
public:
TabDialog( TQWidget *parent, const char *name, const TQString &_filename );
protected:
TQString filename;
TQFileInfo fileinfo;
void setupTab1();
void setupTab2();
void setupTab3();
};
#endif
Implementation:
/****************************************************************************
** $Id: qt/tabdialog.cpp 3.3.8 edited Jan 11 14:37 $
**
** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
**
** This file is part of an example program for TQt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include "tabdialog.h"
#include <ntqvbox.h>
#include <ntqlabel.h>
#include <ntqlineedit.h>
#include <ntqdatetime.h>
#include <ntqbuttongroup.h>
#include <ntqcheckbox.h>
#include <ntqlistbox.h>
#include <ntqapplication.h>
TabDialog::TabDialog( TQWidget *parent, const char *name, const TQString &_filename )
: TQTabDialog( parent, name ), filename( _filename ), fileinfo( filename )
{
setupTab1();
setupTab2();
setupTab3();
connect( this, TQ_SIGNAL( applyButtonPressed() ), tqApp, TQ_SLOT( quit() ) );
}
void TabDialog::setupTab1()
{
TQVBox *tab1 = new TQVBox( this );
tab1->setMargin( 5 );
(void)new TQLabel( "Filename:", tab1 );
TQLineEdit *fname = new TQLineEdit( filename, tab1 );
fname->setFocus();
(void)new TQLabel( "Path:", tab1 );
TQLabel *path = new TQLabel( fileinfo.dirPath( TRUE ), tab1 );
path->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
(void)new TQLabel( "Size:", tab1 );
ulong kb = (ulong)(fileinfo.size()/1024);
TQLabel *size = new TQLabel( TQString( "%1 KB" ).arg( kb ), tab1 );
size->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
(void)new TQLabel( "Last Read:", tab1 );
TQLabel *lread = new TQLabel( fileinfo.lastRead().toString(), tab1 );
lread->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
(void)new TQLabel( "Last Modified:", tab1 );
TQLabel *lmodif = new TQLabel( fileinfo.lastModified().toString(), tab1 );
lmodif->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
addTab( tab1, "General" );
}
void TabDialog::setupTab2()
{
TQVBox *tab2 = new TQVBox( this );
tab2->setMargin( 5 );
TQButtonGroup *bg = new TQButtonGroup( 1, TQGroupBox::Horizontal, "Permissions", tab2 );
TQCheckBox *readable = new TQCheckBox( "Readable", bg );
if ( fileinfo.isReadable() )
readable->setChecked( TRUE );
TQCheckBox *writable = new TQCheckBox( "Writeable", bg );
if ( fileinfo.isWritable() )
writable->setChecked( TRUE );
TQCheckBox *executable = new TQCheckBox( "Executable", bg );
if ( fileinfo.isExecutable() )
executable->setChecked( TRUE );
TQButtonGroup *bg2 = new TQButtonGroup( 2, TQGroupBox::Horizontal, "Owner", tab2 );
(void)new TQLabel( "Owner", bg2 );
TQLabel *owner = new TQLabel( fileinfo.owner(), bg2 );
owner->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
(void)new TQLabel( "Group", bg2 );
TQLabel *group = new TQLabel( fileinfo.group(), bg2 );
group->setFrameStyle( TQFrame::Panel | TQFrame::Sunken );
addTab( tab2, "Permissions" );
}
void TabDialog::setupTab3()
{
TQVBox *tab3 = new TQVBox( this );
tab3->setMargin( 5 );
tab3->setSpacing( 5 );
(void)new TQLabel( TQString( "Open %1 with:" ).arg( filename ), tab3 );
TQListBox *prgs = new TQListBox( tab3 );
for ( unsigned int i = 0; i < 30; i++ ) {
TQString prg = TQString( "Application %1" ).arg( i );
prgs->insertItem( prg );
}
prgs->setCurrentItem( 3 );
(void)new TQCheckBox( TQString( "Open files with the extension '%1' always with this application" ).arg( fileinfo.extension() ), tab3 );
addTab( tab3, "Applications" );
}
Main:
/****************************************************************************
** $Id: qt/main.cpp 3.3.8 edited Jan 11 14:37 $
**
** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
**
** This file is part of an example program for TQt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include "tabdialog.h"
#include <ntqapplication.h>
#include <ntqstring.h>
int main( int argc, char **argv )
{
TQApplication a( argc, argv );
TabDialog tabdialog( 0, "tabdialog", TQString( argc < 2 ? "." : argv[1] ) );
tabdialog.resize( 450, 350 );
tabdialog.setCaption( "TQt Example - Tabbed Dialog" );
a.setMainWidget( &tabdialog );
tabdialog.show();
return a.exec();
}
See also Examples.
| Copyright © 2007 Trolltech | Trademarks | TQt 3.3.8
|