为什么QFile(" ./ test")工作,但[QFile]类没有QFile(char * s)构造函数

时间:2016-09-07 16:54:18

标签: c++ qt

我检查了 QT-Help ,我发现类<?php /* Plugin Name: Datenbank Testprogramm */ //----------------------------------------------------------------------------- // Deklaration der Action-Hooks // Die aktivieren/deactivieren Funktionen registrieren add_action('activate_' . plugin_basename(__FILE__), 'mm_datenbank_aktivieren'); add_action('deactivate_' . plugin_basename(__FILE__), 'mm_datenbank_deaktivieren'); //----------------------------------------------------------------------------- // Funktion die beim aktivieren des Plugins aufgerufen werden soll function mm_datenbank_aktivieren() { // Hinzufügen einer Datenbanktabelle // Funktion zum erstellen der Tabelle wp_datenbanktest function mm_tabelle_erstellen() { // Globales Datenbankobjekt um Eigenschaften in WP ansprechen zu können global $wpdb; // Tabellenname bestimmen $tabellenname = $wpdb->prefix . "datenbanktest"; // Wenn die Tabelle noch nicht existiert, dann wird diese erstellt if ($wpdb->get_var("SHOW TABLES LIKE '$tabellenname'") != $tabellenname) { // Der SQL-String der Tabelle wird erzeugt $sql_string = "CREATE TABLE " . $tabellenname . " ( user_id int(11) NOT NULL, person_geschlecht varchar(1) DEFAULT NULL, UNIQUE KEY user_id (user_id) );"; // Die Funktion dbDelta muss vor der Verwendung mit /wp-admin/includes/upgrade.php // per require_once verfügbar gemacht werden, bevor die dbDelta() Funktion aufgerufen wird. require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); // dbDelta überprüft die Datenbank und vergleicht den SQL-Query mit bestehnden Tabellen. // Falls die Tabelle bereits existiert, wird die Abfrage nicht ausgeführt. dbDelta($sql_string); } } // ENDE Funktion datenbank Tabelle erstellen function mm_daten_tabelle_einfuegen() { // Globales Datenbankobjekt um Eigenschaften in WP ansprechen zu können global $wpdb; // Tabellenname bestimmen $tabellenname = $wpdb->prefix . "datenbanktest"; // Das Datenbankobjekt beinhaltet drei Parameter // 1. Methode insert() // 2. Tabellenname $tabellenname // 3. Array mit Daten und Format der jeweiligen Parameter. "'%d', '%f', '%s' (integer, float, string)" // $wpdb->insert('$tabellenname', array('user_id' =>10, 'person_geschlecht' => 'm'), array('%d','%s')); $wpdb->insert($tabellenname, array('user_id' => 10, 'person_geschlecht' => 'm')); } // ENDE Funktion Daten in Tabelle einfügen // Hinzufügen einer Datenbanktabelle mm_tabelle_erstellen(); // Daten zur Tabelle hinzufügen // mm_daten_tabelle_einfuegen(); function mm_zeige_option_seite(){ } // ENDE Funktion Options Seite } // ENDE Funktion beim Aktivieren des Plugins //----------------------------------------------------------------------------- // Funktion die beim deaktivieren des Plugins aufgerufen werden soll function mm_datenbank_deaktivieren() { // Funktion zum löschen der Tabelle wp_datenbanktest function mm_tabelle_loeschen() { // Benötigt das globale Datenbankobjekt global $wpdb; // Tabellenname bestimmen $tabellenname = $wpdb->prefix . "datenbanktest"; // SQL-Befehl erzeugen $sql = "DROP TABLE ". $tabellenname; // SQL-Befehl ausführen $wpdb->query($sql); } // ENDE Funktion datenbank Tabelle loesschen // Tabelle beim deaktivieren löschen mm_tabelle_loeschen(); } // ENDE Funktion beim deaktivieren des Plugins //----------------------------------------------------------------------------- // Menü im Admin-Bereich erstellen function db_optionen() { // Erstellt das Menü im Backend add_menu_page("Datenbank", // Seitentitel (Browserregsiter) "Datenbank", // Menütitel (Backend) "manage_options", // Berechtigung (Super - Administratoren) "mm_datenbank_plugin", // eindeutigen internen Namen (slug) "datenbank_formular", // Funktionsaufruf null, // Kann ein Pfad zu einem Iconbild eingefügt werden 70); // Position im Menü } // ENDE Funktion Menü im Backend erstellen //----------------------------------------------------------------------------- // Darstellung der Eingabeseite function datenbank_formular(){ ?> <!-- Options Seite --> <div class="wrap"> <h1>Datenbank Dateneingabe</h1> <!-- Sende Schaltfläche --> <form action="options-ft.php" method="post"> <?php settings_fields("section"); do_settings_sections("theme-options"); submit_button(); ?> </form> </div> <?php } // ENDE Funktion Darstellung der Eingabeseite // Eingabe-Elemente auf der Seite einfügen function datenbank_eingabefelder() { ?> <!-- Eingabeelement für Text, Zeitangaben, Zahlen, Auswahlen, Elemente, Benutzeraktionen --> <!-- https://wiki.selfhtml.org/wiki/HTML/Formulare/input --> <!-- 1. Parameter für Text --> <!-- 2. Parameter Variable für den Inhalt--> <!-- 3. Parameter eindeutige ID für die Variable--> <!-- 4. Parameter inhalt der Variable --> <!-- Benutzer ID --> <input type="text" name="person_user_id" id="person_user_id" value= "<?php echo get_option('person_user_id'); ?>"/> <?php } // ENDE Funktion Elemente einfpgen //----------------------------------------------------------------------------- // Funktion zum einblenden der Eingabefelder auf der Eingabe Seite function datenbank_eingabefelder_anzeigen() { // Bereich für Persönliche Daten add_settings_section("section", // ID Attribut der Sektion "Personendaten", // Titel der Sektion null, // Funktion die den Inhalt füllt "theme-options"); // Menüseite die diesen Abschnitt anzeigt // Feld hinzufügen - Benutzer ID add_settings_field("person_user_id", // Variablen ID (String) "Benutzer ID", // Formatierter Titel (String) "datenbank_eingabefelder", // Funktion die das Feld füllt "theme-options", // Menüseite die diesen Abschnitt anzeigt "section"); // Gruppenname Sektion (string) // Registrierung - Benutzer ID register_setting("section", // Gruppenname Sektion "person_user_id"); // Inhahalt der zu speichernden Variablen } // ENDE Funktion Eingabefelder anzeigen //----------------------------------------------------------------------------- // Menü im Admin-Bereich registrieren add_action("admin_menu", // Fügt Menüs im Administrations Panel hinzu "db_optionen"); // Funktionsaufruf, zum erstellen des Backend Menüs // Eingabefelder im Admin-Bereich registrieren add_action("admin_init", // Wird ausgelöst wenn ein Benutzer auf das Backend zugreift "datenbank_eingabefelder_anzeigen"); // Funktionsaufruf, zum einblenden der Eingabefelder ?> 有以下构造函数:

QFile

课程QFile() QFile(const QString &name) QFile(QObject *parent) QFile(const QString &name, QObject *parent) 没有QFile(char *)QFile没问题,为什么?

1 个答案:

答案 0 :(得分:0)

考虑声明:

QFile("/home/mythicsr/test");

它导致在引擎盖下创建类型为QString的临时对象,因此调用构造函数QFile(const QString &name)。 正如@meetaig在评论中提到的那样,因为:

  

QString支持使用char *

进行初始化

或者更好,正如@Slava的评论中所述 - const char *在这种情况下

就是这样。