Qt 4.3.2: QDialog, Help-Button
-
Hallo,
ich habe eine Dialog-Klasse erstellt, die von QDialog abgeleitet ist. Jetzt bekommt mein Dialog oben in der Title-Bar immer den Help-Button (das '?'), den brauche ich aber nicht. Das setzen von den Window-Flags hat nichts gebracht.
Wie werde ich den blöden Hilfe-Button los?Gruß
void *
-
Hallo, etwas Code wäre von Vorteil zeig doch mal wie du die neue Klasse in deine .h Datei definierst und dann noch die zugehörige .cpp Datei. Was auch noch gut wäre wenn mir den Code zeigst wie du das Object verwendest/deklarierst.
-
Hi,
sorry, hat eine Weile gedauert.
Hier der Code...
*.hpp:
namespace gui { /** \ingroup gui */ class t_login_dialog : public QDialog { public: t_login_dialog( QWidget *p_parent ); ~t_login_dialog(); QString get_user_name() const; QString get_password() const; private: void create_widgets(); void set_visual_style(); void create_layout(); void connect_signals_and_slots(); QHBoxLayout *m_user_name_layout; QLabel *m_user_name_label; QLineEdit *m_user_name_edit; QHBoxLayout *m_password_layout; QLabel *m_password_label; QLineEdit *m_password_edit; QDialogButtonBox *m_button_box; }; }
*.cpp:
#include "login_dialog.hpp" using namespace gui; t_login_dialog::t_login_dialog( QWidget *p_parent ): QDialog( p_parent ) { create_widgets(); set_visual_style(); create_layout(); connect_signals_and_slots(); } t_login_dialog::~t_login_dialog() { // nothing to do... } QString t_login_dialog::get_user_name() const { return m_user_name_edit->text(); } QString t_login_dialog::get_password() const { return m_password_edit->text(); } void t_login_dialog::create_widgets() { m_user_name_label = new QLabel(); m_user_name_edit = new QLineEdit(); m_password_label = new QLabel(); m_password_edit = new QLineEdit(); m_button_box = new QDialogButtonBox( QDialogButtonBox::Ok | QDialogButtonBox::Cancel ); } void t_login_dialog::set_visual_style() { setWindowTitle( "Login" ); m_user_name_label->setText( "User name" ); // \todo remove magical constant m_user_name_edit->resize( 200, m_user_name_edit->height() ); m_user_name_edit->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); m_password_label->setText( "Password" ); // \todo remove magical constant m_password_edit->resize( 200, m_password_edit->height() ); m_password_edit->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ); m_password_edit->setEchoMode( QLineEdit::Password ); } void t_login_dialog::create_layout() { m_user_name_layout = new QHBoxLayout(); m_user_name_layout->addWidget( m_user_name_label ); m_user_name_layout->addStretch(); m_user_name_layout->addWidget( m_user_name_edit ); m_password_layout = new QHBoxLayout(); m_password_layout->addWidget( m_password_label ); m_password_layout->addStretch(); m_password_layout->addWidget( m_password_edit ); QVBoxLayout *main_layout = new QVBoxLayout(); main_layout->addLayout( m_user_name_layout ); main_layout->addLayout( m_password_layout ); main_layout->addWidget( m_button_box ); setLayout( main_layout ); } void t_login_dialog::connect_signals_and_slots() { connect( m_button_box, SIGNAL( accepted() ), this, SLOT( accept() ) ); connect( m_button_box, SIGNAL( rejected() ), this, SLOT( reject() ) ); }
-
Du meinst das ? neben dem Minimieren, Maximieren und Schliessen Button?
Dann schau hier:
http://lists.trolltech.com/qt-interest/2006-03/msg00937.htmlUnd teste windowflags:
Dialog
Customize window
-
Danke, jetzt hat es Bestens funktioniert mit:
Qt::Dialog| Qt::WindowTitleHint | Qt::CustomizeWindowHint