Galleria di interfacce utente scritte in MQL - pagina 71

 
Edgar Akhmadeev #:

La domanda c'è. Il fatto che la maggior parte di loro taccia sull'argomento è normale. Le persone sono in attesa. Finora nessun grande progetto è stato portato a termine. È sempre difficile farcela da soli e senza finanziamenti. Finora conosco solo un progetto portato a termine con successo da una sola persona: "VLADIK BRUTAL" su Steam.

È una strana tattica quella di stare in agguato e aspettare. :) Se le persone fossero coinvolte attivamente, non avrei cambiato le priorità e molte cose sarebbero già state completate. Tuttavia, i compiti principali che ho elencato saranno completati indipendentemente dalla domanda, perché lo considero un interesse personale. Ma non sono avido, condividerò con la comunità). Solo che non stabilirò una tempistica precisa.

Mi aspetto di finire tutto prima dell'anno nuovo. Avete bisogno di tabelle dinamiche, giusto? Sarà sicuramente così.

Vorrei anche ricordarvi che le tabelle normali sono disponibili nell'assembly e funzionano bene. E ora, grazie alla presenza della gestione dell'interfaccia del programma, lavorare con esse è diventato facile.

Ci sono molte lezioni sul linguaggio di markup, perché il materiale è coperto per meno della metà, ma ancora una volta - chi ne ha bisogno? Io? So già tutto. Chi altro? Non sento nessuna richiesta. Ma comporre ogni lezione è una grande fatica, e ogni post di esercitazione è un mini-articolo. È un sacco di lavoro.

Queste sono le domande. Penso che possiate capire. Ma le tabelle e i grafici dinamici hanno molto senso pratico e appariranno.
 
Реter Konow #:
È una strana tattica quella di appostarsi e aspettare. :) Se le persone partecipassero attivamente, non cambierei le mie priorità.

Parlerò solo per me stesso. Non so come aiutare. Come partecipare attivamente. Tutto quello che potevo fare, l'ho fatto. Ho scritto il codice sulla base delle informazioni in mio possesso, ho creato una bella interfaccia. Poi sono bloccato nel non realizzare ciò di cui ho bisogno personalmente. E non posso studiare come utilizzare ciò che non posso ancora mettere in pratica. Io sono un praticante. Ecco perché avrò sicuramente bisogno di lezioni quando arriverà il loro momento.

Pulsanti di controllo diversi e pulsanti per controllare cose diverse: personalmente, ne avrò bisogno più avanti. Quando ci arriverò. Per ora sto aspettando un'interfaccia per una visualizzazione comoda e bella. E non c'è fretta, per questo non vi facciamo pressioni. Capiamo che non state lavorando in servizio. Ho fatto una domanda non perché ho fretta, solo perché sono scomparsi da qualche parte.

 
Edgar Akhmadeev #:

Parlerò solo per me stesso. Non so come aiutare. Come partecipare attivamente. Ho fatto tutto quello che potevo. Ho scritto il codice in base alle informazioni disponibili e ho ottenuto una bella interfaccia. Poi sono bloccato nel non realizzare ciò di cui ho bisogno personalmente. E non posso studiare lezioni su come usare ciò che non posso ancora mettere in pratica. Io sono un praticante. Ecco perché avrò sicuramente bisogno di lezioni quando arriverà il loro momento.

Pulsanti di controllo diversi e pulsanti per controllare cose diverse: personalmente, ne avrò bisogno più avanti. Quando ci arriverò. Per ora sto aspettando un'interfaccia per una visualizzazione comoda e bella. E non c'è fretta, per questo non vi facciamo pressioni. Capiamo che non state lavorando in servizio. Ho fatto una domanda non perché ho fretta, semplicemente - è sparito da qualche parte.

Come ho capito, non sai ancora di quale interfaccia ha bisogno la tua applicazione. :) Non posso aiutarti. Ma quando l'avrai capito, fai uno schizzo. È probabile che le capacità esistenti del mio designer e del mio motore siano più che sufficienti. Come ho detto, mancano solo tre cose principali:

1. Le tabelle dinamiche sono tabelle con un numero illimitato di righe.

2. Tabelle generate - sono tabelle raccolte dalla funzione "al volo". Sono necessarie per l'output rapido, l'ordinamento e il confronto di singoli parametri presi da grandi insiemi di dati.

3. grafici scientifici come quelli di R. Sono già implementati nella libreria standard CGraphic e nella libreria di Anatoly Kozharsky. Sarò implementato a modo mio.

Tutto il resto è nel mio costruttore. Pensate a ciò che serve alla vostra applicazione. Create uno schizzo. Pubblicatelo qui. Vi aiuterò a scrivere il codice Kib.
 
Edgar Akhmadeev #:

... Ho scritto il codice in base alle informazioni disponibili e ho ottenuto una bella interfaccia. Poi mi sono imbattuto in ciò che mi serve personalmente. ....

A proposito, ciò che non funzionava allora, funziona già, perché c'è un controllo software dell'interfaccia. Ricordo che allora non si potevano inviare parametri alle tabelle. Ora è facile farlo. La vostra tabella può funzionare ed emettere valori. È già implementato nel motore. Questo è solo per la cronaca.
 

Non solo so cosa serve, ma ho anche realizzato il mockup. Ecco il codice corretto e il layout https://www.mql5.com/ru/forum/467909/page37#comment_53863397.

Ho bisogno esattamente (nei tuoi termini) di tabelle dinamiche e generate. Cioè aggiungere programmaticamente un numero indefinito di righe (beh, limitato dal buon senso), riempirle, scorrere comodamente la tabella stessa, non la cornice con essa. In modo che le intestazioni rimangano al loro posto.

Questo è ciò che avete in cantiere finora. Ecco perché me ne sto tranquillo ad aspettare. Non ho fretta io e non ho fretta tu. Vivrò per sempre. Per ora sta funzionando.

Галерея UI написанных на MQL - Попробуйте разместить иконку и текст на элементах.
Галерея UI написанных на MQL - Попробуйте разместить иконку и текст на элементах.
  • 2024.07.02
  • Реter Konow
  • www.mql5.com
По сути есть только два варианта расположения текста и иконки внутри кнопок. Можно использовать как шаблон для любых элементов с текстом и иконкой. Если кнопки размещаются во фрейме командой TOP - все отлично. а название кнопки портится Баг или мой фейл - не пойму
 
Edgar Akhmadeev #:

Non solo so cosa serve, ma ho anche realizzato il mockup. Ecco il codice corretto e il layout https://www.mql5.com/ru/forum/467909/page37#comment_53863397

Ho bisogno esattamente (nei tuoi termini) di tabelle dinamiche e generate. Cioè aggiungere programmaticamente un numero indefinito di righe (beh, limitato dal buon senso), riempirle, scorrere comodamente la tabella stessa, non la cornice con essa. Per mantenere le intestazioni al loro posto.

Questo è ciò che avete in cantiere finora. Ecco perché me ne sto tranquillo ad aspettare. Non ho fretta io e non ho fretta tu. Vivrò per sempre. Per ora sta funzionando.

Capisco. Beh, le tabelle dinamiche e generate sono necessarie per me e per voi, quindi lo saranno. Cercherò di finire tutti i compiti prima del nuovo anno.
 
A che punto siamo?
 
hini #:
A che punto siamo?
Oggi si sta formando il concetto di tabelle dinamiche e generate, che dovrebbero lavorare all'unisono con i grafici scientifici. Il compito non è solo quello di sviluppare la parte tecnica - tabelle e grafici - ma anche di trovare modi di "simbiosi" tra questi strumenti nel lavoro analitico.

Ecco un esempio:

1. I dati vengono caricati in un file. Speciali algoritmi li distribuiscono in tabelle, righe e colonne.

2. L'utente accede alla tabella desiderata, seleziona una riga e fa doppio clic per disegnare una curva o un diagramma utilizzando le figure di quella riga o colonna.

3. L'utente seleziona la cella desiderata della tabella e chiama la costruzione di una nuova tabella con i dati associati al parametro in essa contenuto.

4. L'utente passa da tabelle a grafici, da grafici a tabelle e grafici a torta, assemblando o generando "al volo" nuove tabelle e grafici. Con semplici clic e inserendo i parametri nella finestra, può visualizzare i dati da diverse "angolazioni" e in diverse combinazioni all'interno delle rappresentazioni grafiche che appaiono.

Tutto ciò contribuisce indubbiamente a un lavoro produttivo e alla ricerca di relazioni e modelli nei dati.

Ho intenzione di implementare un comodo sistema di lavoro dinamico con i dati attraverso tabelle, grafici e diagrammi.

La cosa più importante è il concetto giusto. La sua formazione richiede molto tempo. L'implementazione tecnica richiede relativamente poco tempo.

P.S. Inoltre, sto preparando il mio primo articolo sul costruttore di GUI e sul linguaggio di markup.

P.S.S. Quando l'articolo sarà pubblicato, preparerò una versione per la base di codice, in modo che chi lo desidera possa scaricare il costruttore.

In generale, c'è molto lavoro).

 
Vi dirò quali sono i miei piani.

1. Creare un libro di testo sul linguaggio di markup.

È necessario raccogliere un libro di testo completo sul linguaggio di markup, organizzandolo in parti, capitoli e argomenti.


2. Scrivere articoli sul costruttore di interfacce e sul linguaggio KIB.

Dividere il materiale didattico finito in una serie di articoli, aggiungendovi codici, diagrammi, immagini e gif.

3. Prima di pubblicare il primo articolo, aprite un thread specializzato con l'unico scopo di pubblicare i modelli di codice KIB. Chi lo desidera potrà costruire facilmente un'interfaccia grafica prendendo in prestito parti già pronte. Potranno anche aggiungere codici KIB, se lo desiderano.

4. Prima del rilascio del primo articolo, pubblicate l'ultima versione del costruttore nel codebase.

In quella pagina pubblicare un manuale di istruzioni dettagliato con immagini, gif e video.

5. All'inizio dell'articolo, fornite un link al costruttore e alle istruzioni per l'installazione, e alla fine dell'articolo lasciate un link al ramo con i template. In questo modo, subito dopo aver letto l'articolo, i lettori potranno provare a creare un'interfaccia grafica, prendendo in prestito finestre o gruppi di elementi già pronti. Poi, man mano che impareranno, sperimenteranno e miglioreranno le loro interfacce.

6. A mio parere, per offrire ai lettori una facile comprensione e una rapida padronanza delle capacità del designer, è necessario semplificare la presentazione del materiale e fornire abbondantemente gli articoli con immagini informative, schemi leggibili e codici commentati. Per questo motivo scriverò articoli con il motto "più semplice è, meglio è", cercando di ottenere semplicità logica e chiarezza di significato.

7. Prima di pubblicare il costruttore nel codebase, devo fare un po' di lavoro preliminare:

a) Tradurre i nomi dei catologhi in inglese.

b) Eliminare completamente tutti gli avvisi che compaiono durante la compilazione del costruttore (non del codice KIB).

c) Correggere alcuni bug precedentemente notati nel lavoro dei controlli.

d) Inserire uno "stub" per il debug del codice utente collegato al motore.

Secondo l'idea, il motore sarà spento durante il debug semplicemente commentando la sua riga, e solo le funzioni del nucleo grafico e del wrapper del file di servizio "UIDATA.mqh" rimarranno collegate. Tutte le altre funzioni regolari del costruttore saranno impostate come "funzioni vuote" che fungono da "stopper" in un file speciale. La riga di questo file sarà decommentata dall'utente prima del debug.

Questo è il concetto, ma non l'ho ancora verificato nella pratica.


8. Il primo articolo sarà il più difficile per me, perché mi richiederà di descrivere brevemente l'intero linguaggio dei costruttori e dei marcatori, dando al lettore un'idea completa del loro scopo, delle loro capacità e del loro dispositivo. Inoltre, elencherò il contenuto dei prossimi articoli e aggiungerò uno schema chiaro della futura distribuzione del materiale didattico.

A mio parere, gli articoli sono lezioni e quindi la presentazione del materiale deve essere pedagogica.

P.S. Inizialmente ho deciso di basarmi sull'esempio dei noti articoli sull'interfaccia grafica di Anatoly Kozharsky - Easy and Fast library. Per me è il risultato più completo che rivela questo argomento. Allo stesso tempo, riconosco con rispetto il contributo di altri autori di talento che hanno compiuto validi tentativi di creare librerie UI prima e dopo gli articoli di Anatoly. Vorrei citare in particolare Dmitry Fedoseev e Artem Trishkin.

E così, dopo aver accettato gli articoli di Anatoly come standard di qualità e indicatore di professionalità, ho "provato" il loro formato con il mio materiale e sono stato costretto a riconoscere l'incompatibilità. Le differenze di approccio e di realizzazione sono troppo grandi. Pertanto, dovrò trovare e perfezionare il mio stile, senza dimenticare di soddisfare l'elevato standard autoriale stabilito dai miei predecessori.
 

Il processo di lavoro nell'editor visuale della GUI su MT5.

4 anni fa:

(Cliccare sull'immagine).


P.S. Il contesto della dimostrazione è descritto nel post sottostante.