Bem-vindo: Qua, 27 de Novembro 2024, 17:38 Pesquisa avançada
Ainda não tem o Ubuntu instalado? Veja:
|
Dicas para melhorar o Ubuntu:
|
|
Bitetti » 44 minutos atrás escreveu:QT é basicamente uma biblioteca de componentes multiplataforma, o KDE é feito com ele. E tambem possui complementos como uma IDE e outras ferramentas que deixa o Visual Studio no chão e com ele vc pode criar um executavel tanto pra Linux quanto pra Windows usando o mesmo código.
Luis Cardoso » Hoje, 16:32 escreveu:ron » 10 minutos atrás escreveu:O que é esse QT?
Está a ser irónico ou desconhece mesmo o Qt? Por exemplo, a interface do VLC é feita em Qt. A janela do Ubuntu One e o Unity 2D também!
ron » 31 minutos atrás escreveu:Luis Cardoso » Hoje, 16:32 escreveu:ron » 10 minutos atrás escreveu:O que é esse QT?
Está a ser irónico ou desconhece mesmo o Qt? Por exemplo, a interface do VLC é feita em Qt. A janela do Ubuntu One e o Unity 2D também!
Não conheço mesmo.
Mas pelo que falaram aqui, parece ser boa! :-)
Ainda não tem o Ubuntu instalado? Veja:
|
Dicas para melhorar o Ubuntu:
|
|
Claudio Novais » 9 minutos atrás escreveu:Exatamente o que o Luís disse, mas diria só que o QT está um pouquinho mais à frente que o GTK em termos de multiplataforma.
Ainda não tem o Ubuntu instalado? Veja:
|
Dicas para melhorar o Ubuntu:
|
|
Luis Cardoso » Ontem, 21:37 escreveu:Claudio Novais » 9 minutos atrás escreveu:Exatamente o que o Luís disse, mas diria só que o QT está um pouquinho mais à frente que o GTK em termos de multiplataforma.
E depois há o facto de se poder programar mais facilmente em C/C++ em Qt e no GTK+, só em C... (a menos que isso tenha mudado no GTK3 )
using Gtk;
public class SearchDialog : Dialog {
private Entry search_entry;
private CheckButton match_case;
private CheckButton find_backwards;
private Widget find_button;
public signal void find_next (string text, bool case_sensitivity);
public signal void find_previous (string text, bool case_sensitivity);
public SearchDialog () {
this.title = "Find";
this.border_width = 5;
set_default_size (350, 100);
create_widgets ();
connect_signals ();
}
private void create_widgets () {
// Create and setup widgets
this.search_entry = new Entry ();
var search_label = new Label.with_mnemonic ("_Search for:");
search_label.mnemonic_widget = this.search_entry;
this.match_case = new CheckButton.with_mnemonic ("_Match case");
this.find_backwards = new CheckButton.with_mnemonic ("Find _backwards");
// Layout widgets
var hbox = new Box (Orientation.HORIZONTAL, 20);
hbox.pack_start (search_label, false, true, 0);
hbox.pack_start (this.search_entry, true, true, 0);
var content = get_content_area () as Box;
content.pack_start (hbox, false, true, 0);
content.pack_start (this.match_case, false, true, 0);
content.pack_start (this.find_backwards, false, true, 0);
content.spacing = 10;
// Add buttons to button area at the bottom
add_button (Stock.HELP, ResponseType.HELP);
add_button (Stock.CLOSE, ResponseType.CLOSE);
this.find_button = add_button (Stock.FIND, ResponseType.APPLY);
this.find_button.sensitive = false;
show_all ();
}
private void connect_signals () {
this.search_entry.changed.connect (() => {
this.find_button.sensitive = (this.search_entry.text != "");
});
this.response.connect (on_response);
}
private void on_response (Dialog source, int response_id) {
switch (response_id) {
case ResponseType.HELP:
// show_help ();
break;
case ResponseType.APPLY:
on_find_clicked ();
break;
case ResponseType.CLOSE:
destroy ();
break;
}
}
private void on_find_clicked () {
string text = this.search_entry.text;
bool cs = this.match_case.active;
if (this.find_backwards.active) {
find_previous (text, cs);
} else {
find_next (text, cs);
}
}
}
int main (string[] args) {
Gtk.init (ref args);
var dialog = new SearchDialog ();
dialog.destroy.connect (Gtk.main_quit);
dialog.show ();
Gtk.main ();
return 0;
}
Davysson Silva » Hoje, 18:08 escreveu:Lembre que se pode programar em Vala...
- Código: Selecionar todos
using Gtk;
public class SearchDialog : Dialog {
private Entry search_entry;
private CheckButton match_case;
private CheckButton find_backwards;
private Widget find_button;
public signal void find_next (string text, bool case_sensitivity);
public signal void find_previous (string text, bool case_sensitivity);
public SearchDialog () {
this.title = "Find";
this.border_width = 5;
set_default_size (350, 100);
create_widgets ();
connect_signals ();
}
private void create_widgets () {
// Create and setup widgets
this.search_entry = new Entry ();
var search_label = new Label.with_mnemonic ("_Search for:");
search_label.mnemonic_widget = this.search_entry;
this.match_case = new CheckButton.with_mnemonic ("_Match case");
this.find_backwards = new CheckButton.with_mnemonic ("Find _backwards");
// Layout widgets
var hbox = new Box (Orientation.HORIZONTAL, 20);
hbox.pack_start (search_label, false, true, 0);
hbox.pack_start (this.search_entry, true, true, 0);
var content = get_content_area () as Box;
content.pack_start (hbox, false, true, 0);
content.pack_start (this.match_case, false, true, 0);
content.pack_start (this.find_backwards, false, true, 0);
content.spacing = 10;
// Add buttons to button area at the bottom
add_button (Stock.HELP, ResponseType.HELP);
add_button (Stock.CLOSE, ResponseType.CLOSE);
this.find_button = add_button (Stock.FIND, ResponseType.APPLY);
this.find_button.sensitive = false;
show_all ();
}
private void connect_signals () {
this.search_entry.changed.connect (() => {
this.find_button.sensitive = (this.search_entry.text != "");
});
this.response.connect (on_response);
}
private void on_response (Dialog source, int response_id) {
switch (response_id) {
case ResponseType.HELP:
// show_help ();
break;
case ResponseType.APPLY:
on_find_clicked ();
break;
case ResponseType.CLOSE:
destroy ();
break;
}
}
private void on_find_clicked () {
string text = this.search_entry.text;
bool cs = this.match_case.active;
if (this.find_backwards.active) {
find_previous (text, cs);
} else {
find_next (text, cs);
}
}
}
int main (string[] args) {
Gtk.init (ref args);
var dialog = new SearchDialog ();
dialog.destroy.connect (Gtk.main_quit);
dialog.show ();
Gtk.main ();
return 0;
}
Claro que não é uma linguagem tão vasta como C++, mas acho melhor que C.
Falando nisso, todos os projetos do elementary agora são feitos em Vala.
Mais informação aqui: https://live.gnome.org/Vala
Usuários navegando neste fórum: Nenhum usuário registrado e 88 visitantes