Aplicacion inicial

Aplicacion inicial

Postby cnavarro » Mon May 25, 2015 4:34 pm

Compañeros
Aqui dejo un pequeño programa
Mi intencion es que me ayuden a ir ampliandolo poco a poco

Code: Select all  Expand view

#include "FiveTouch.ch"

function Main()

   local oDlg := QDialog()
   local x
   local y
   local oMainLayout   := QVBoxLayout()
   local oIco1
   local oIco2
   local oIco3
   local oIco4
   local oIco5
   local oIco6
   local oIco7
   local oIco8
   local oBtn1
   local oBtn2
   local oBtn3
   local oBtn4
   local oBtn5
   local oBtn6
   local oBtn7
   local oBtn8

   local oBtnNew
   local oBtnClear
   local oBtnSave
   local oBtnEdit
   local oBtnClose

   local oButtonBar
   local oButtonBarLayout
   local oSuperLayout     := QVBoxLayout()
   local oCenterLayout
   local oInferLayout    // := QHBoxLayout()
   local oFolder          := QTabWidget()
   local oCenter
   local oFold1
   local oFold2
   local oFold3
   local oBar
   local oVarsList
   local oBrw
   local oModel
   local aValores     := { { "A","Primero" , Dtoc(Date()) },;
                           { "B","Segundo" , Dtoc(Date()) },;
                           { "C","Tercero" , Dtoc(Date()) },;
                           { "D","Cuarto"  , Dtoc(Date()) },;
                           { "E","Quinto"  , Dtoc(Date()) },;
                           { "F","_"   , Dtoc(Date()) } }
 
   oDlg:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid white;" )
   oButtonBar       := QWidget()
   oButtonBarLayout := QHBoxLayout()
   oDlg:SetLayout( oMainLayout )

   oDlg:SetLayout( oSuperLayout )
   //oDlg:SetLayout( oCenterLayout )
   //oDlg:SetLayout( oInferLayout )

   oDlg:SetWindowTitle( "Designer 01" )

   oButtonBarLayout := QHBoxLayout()
   oDlg:SetLayout( oButtonBarLayout )   

   oBar := QToolBar()
   oBar:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );spacing: 0px;border-radius: 0px;" )
   oMainLayout:AddWidget( oBar )

   oBar:AddWidget( oBtn1 := QPushButton() ) 
   oBar:AddWidget( oBtn2 := QPushButton() ) 
   oBar:AddWidget( oBtn3 := QPushButton() ) 
   oBar:AddWidget( oBtn4 := QPushButton() ) 
   oBar:AddWidget( oBtn5 := QPushButton() ) 
   oBar:AddWidget( oBtn6 := QPushButton() ) 
   oBar:AddWidget( oBtn7 := QPushButton() ) 
   oBar:AddWidget( oBtn8 := QPushButton() ) 

   oBtn1:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 30px;" )
   oIco1 = QLabel( oBtn1 )
   //oIco1:Move( 2, 1 )
   oIco1:SetPixmap( QPixmap( "g3749.png" ) ) //threelines.png" ) )

   oBtn2:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 2em;" )
   oIco2 = QLabel( oBtn2 )
   oIco2:SetPixmap( QPixmap( "g4023.png" ) )

   oBtn3:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 2em;" )
   oIco3 = QLabel( oBtn3 )
   oIco3:SetPixmap( QPixmap( "g4033.png" ) )

   oBtn4:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 30px;" )
   //oBtn4:SetText( "FiveTouch" )
   oIco4 = QLabel( oBtn4 )
   oIco4:SetPixmap( QPixmap( "g3991.png" ) )

   oBtn5:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 30px;" )
   oIco5 = QLabel( oBtn5 )
   oIco5:SetPixmap( QPixmap( "g3893.png" ) )

   oBtn6:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 32px;" )
   oIco6 = QLabel( oBtn6 )
   oIco6:SetPixmap( QPixmap( "g3883.png" ) )

   oBtn7:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 32px;" )
   oIco7 = QLabel( oBtn7 )
   oIco7:SetPixmap( QPixmap( "g3771.png" ) )

   oBtn8:SetStyleSheet( "background-color: rgba( 255, 255, 255, 255 );border: 0px solid red;min-width: 32px;" )
   oIco8 = QLabel( oBtn8 )
   oIco8:SetPixmap( QPixmap( "g653.png" ) )

   //// oBtn1:SetStyleSheet( "background-image: url('./threelines.jpg');" )
   oCenter    := QWidget()
   oCenter:SetLayout( oSuperLayout )
   oMainLayout:AddWidget( oCenter )  
   oCenter:SetStyleSheet( "background-color: rgba( 255, 255, 255, 200 );border: 0px solid white;" )
   oSuperLayout:AddWidget( oFolder )
   oFolder:AddTab( oFold1 := QWidget(), "Chats" )
   oFolder:AddTab( oFold2 := QWidget(), "Contactos" )
   oFolder:AddTab( oFold3 := QWidget(), "Llamadas" )
   oFolder:SetStyleSheet( "background-color: rgba( 255, 255, 255, 200 );border: 0px solid white;" )  
   //oFolder:setTabEnabled( 2, .F.)

   oBrw := QTableView( oFolder:CurrentWidget )
   oBrw:setStyleSheet( "background-color: rgba( 255, 255, 255, 200 );border: 0px solid white;" )
   oBrw:setshowgrid( .F. )
   //oBrw:setRowHeight(int row, int height)
   //oBrw:setColumnWidth(0, 10)
   oModel := QStandardItemModel( 10, 3, oFolder:CurrentWidget )
   //oModel:SetHorizontalHeaderItem( 0, QStandardItem( "Id" ) )
   //oModel:SetHorizontalHeaderItem( 1, QStandardItem( "Contact" ) )
   //oModel:SetHorizontalHeaderItem( 2, QStandardItem( "Date" ) )
   //oModel:takeHorizontalHeaderItem( 0 )
   //oModel:takeVerticalHeaderItem( 0 )
   For x = 1 to Len( aValores )
       For y = 1 to Len( aValores[ x ] )
       oModel:SetItem( x-1, y-1, QStandardItem( aValores[ x, y ] ) )
       Next y
   Next x
   oBrw:SetModel( oModel )
   //oBrw:clearSpans()
   oBrw:Resize( 314, 400 )

   oSuperLayout:AddWidget( oButtonBar )
   oButtonBar:SetLayout( oButtonBarLayout ) 
   oButtonBar:SetStyleSheet( "background-color: rgba( 255, 255, 255, 200 );border: 0px solid;spacing: 0px" )
   oButtonBarLayout:AddWidget( oBtnNew := QPushButton() )   
   oBtnNew:SetText( "New" ) 
   oBtnNew:SetStyleSheet( "background-color: rgba( 10, 10, 10, 220 );border: 0px solid white;font: bold 14px;border-radius: 0px;spacing: 0px;" )
   oButtonBarLayout:AddWidget( oBtnClear := QPushButton() ) 
   oBtnClear:SetText( "Clear" )
   oBtnClear:SetStyleSheet( "background-color: rgba( 10, 10, 10, 220 );border: 0px solid white;font: bold 14px;border-radius: 0px;spacing: 0px;" )
   //oButtonBarLayout:AddWidget( oBtnEdit := QPushButton() )   
   //oBtnEdit:SetText( "Edit" )
   //oBtnEdit:SetStyleSheet( "background-color: rgba( 10, 10, 10, 220 );border: 0px solid white;font: bold 14px;border-radius: 0px;spacing: 0px;" )
   oButtonBarLayout:AddWidget( oBtnSave := QPushButton() ) 
   oBtnSave:SetText( "Save" )
   oBtnSave:SetStyleSheet( "background-color: rgba( 10, 10, 10, 220 );border: 0px solid white;font: bold 14px;border-radius: 0px;spacing: 0px;" )
   oButtonBarLayout:AddWidget( oBtnClose := QPushButton() ) 
   oBtnClose:SetText( "Close" )
   oBtnClose:SetStyleSheet( "background-color: rgba( 10, 10, 10, 220 );border: 0px solid white;font: bold 14px;border-radius: 0px;spacing: 0px;" )
   oBtnClose:Connect( "clicked()", { || oDlg:End() } )

   oDlg:Resize( 300, 500 )
   oDlg:Exec()

return nil             
 


Aqui dejo los pngs que hacen falta
https://www.dropbox.com/s/tx3vobgxiq01f ... s.zip?dl=0

Image
Muchas gracias. Many thanks.
Saludos,Regards

Cristobal Navarro - Harbour (r1601050904) - xHarbour (Build 20150603) - VS 2015/17 - FWH 18.01

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
User avatar
cnavarro
 
Posts: 3988
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Aplicacion inicial

Postby Antonio Linares » Mon May 25, 2015 10:28 pm

Cristobal,

Muy bueno!

Muchas gracias! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 35348
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Aplicacion inicial

Postby jnavas » Wed Jun 03, 2015 11:55 pm

Cristóbal
Excelente trabajo, pase dias buscando la asignacion de colores, recomiendo que empecemos construir un manual de desarrollo. Puedo aportar algunas de las funcionalidades que pude investigar.
User avatar
jnavas
 
Posts: 256
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: Aplicacion inicial

Postby Jairo Barbosa » Thu Jun 04, 2015 1:54 am

Juan que bueno que participes con tus aportes

Quiero hacerte una pregunta.

En el editor de Fivetouch en fondo de los ejemplos es de color negro y letras blancas, tu de pronto me puedes dar la manos para cambiar el color de fondo y el de los textos
Cambio facil los tamaños y los tipos de letra.

Tan pronto le de un poco mas de forma al proyecto lo publicare en este foro

un Abrazo

Jairo
User avatar
Jairo Barbosa
 
Posts: 180
Joined: Fri Jan 23, 2009 2:50 am
Location: Cali Valle Colombia

Re: Aplicacion inicial

Postby cnavarro » Thu Jun 04, 2015 8:55 am

Juan, Jairo, esa es la idea, ir entre todos añadiendo detalles y funcionalidad.
La idea es hacer un pequeño manual práctico con el desarrollo de la aplicacion
Saludos
Muchas gracias. Many thanks.
Saludos,Regards

Cristobal Navarro - Harbour (r1601050904) - xHarbour (Build 20150603) - VS 2015/17 - FWH 18.01

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
User avatar
cnavarro
 
Posts: 3988
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Aplicacion inicial

Postby jnavas » Thu Jun 11, 2015 5:40 am

Cristóbal,
Encontré esta documentación:

http://choccac.com/?wpfb_dl=1

TEMA!22
BASES!DE!DATOS
La!gran!mayoría!de!aplicaciones!de!gestión,!suelen!guardar!toda!la!ingente!cantidad!de!
datos!que!maneja!en!un!motor!de!base!de!datos.!Qt!en!su!versión!privativa!incluye!los!drivers!de!
la!mayoría! de!motores! de! datos.!Qt!en! su! versión!Open!Source,! no!incluye!aquellos! que! tienen!
licencia.! Para! aquellos! usuarios! acostumbrados! a! usar! la! sintaxis! SQL,! Qt! provee! de! la! clase!
QSqlQuery.!Para!usuarios!que!prefieren!evitar!esto,!y!desean!trabajar!a!un!nivel!más!alto,!hay!2!
modelos! incluidos! en! las! clases! QSqlTableModel! y! QSqlRelationalTableModel,! las! cuales! ya!
mencionamos!en!el!tema!16.
Conectar!e!interrogar!con!SQL
Vamos! a! empezar! tratando! la! primera! forma! de! trabajar! con! bases! de! datos,! donde!
conectaremos!con!una!base!de!datos!MySQL,!y!la!interrogaremos!mediante!la!sintaxis!SQL.!
bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("megafonia");
db.setUserName("root");
db.setPassword("admin");
if (!db.open()) {
QMessageBox::critical(0, QObject::tr("Database Error"),db.lastError().text());
return false;
}
return true;
}
Esta!es!una!conexión!a!la!base!de!datos!MySQL,!en!el!host!local,!con!nombre!megafonia,!
con!el!usuario!y!password!del!usuario!que!tenga!acceso!a!la!misma,!de!acuerdo!a!las!queries!SQL!
que!vamos!a!enviarle.
Lo!siguiente!será!enviarle!una!query,!y!esto!se!hace!así:
QSqlQuery query;
query.exec("SELECT almacen, ntiendas FROM almacenes");
while (query.next()) {
QString almacen = query.value(0).toString();
int ntiendas = query.value(1).toInt();
qDebug("Nombre: %s - Tiendas: %d",qPrintable(almacen),ntiendas);
}
Como!puedes!ver!la!función!exec()!ejecuta!el!query,!next()!recorre!el!puntero!por!la!tabla!
respuesta,! y! value!es!una!lista!QVariant,!donde!los!campos! tienen!índices!del!0!en!adelante,!de!
esta!forma!value(0)!contendría!el!campo!almacen!que!es!el!primero!en!la!respuesta,!y!en!value(1)!
estaría!el!campo!ntiendas.
Para!que!este!código!compile!bien,!es!necesario!que!se!añada!el!módulo!sql!al!proyecto,!
es!decir!al!fichero!*.pro!con!la!linea:
QT!+=!sq
User avatar
jnavas
 
Posts: 256
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: Aplicacion inicial

Postby cnavarro » Thu Jun 11, 2015 7:25 am

jnavas wrote:Cristóbal,
Encontré esta documentación:

http://choccac.com/?wpfb_dl=1




Muy bueno, gracias
Muchas gracias. Many thanks.
Saludos,Regards

Cristobal Navarro - Harbour (r1601050904) - xHarbour (Build 20150603) - VS 2015/17 - FWH 18.01

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
User avatar
cnavarro
 
Posts: 3988
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveTouch

Who is online

Users browsing this forum: No registered users and 1 guest