我检查了 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
没问题,为什么?
答案 0 :(得分:0)
考虑声明:
QFile("/home/mythicsr/test");
它导致在引擎盖下创建类型为QString
的临时对象,因此调用构造函数QFile(const QString &name)
。
正如@meetaig在评论中提到的那样,因为:
QString支持使用char *
进行初始化
或者更好,正如@Slava的评论中所述 - const char *
在这种情况下。
就是这样。