Image description
wt slot
Wt: Sistem Sinyal/Slot

Wt: Sistem Sinyal/Slot

Untuk merespons event interaktivitas pengguna, atau secara umum untuk mengomunikasikan event dari satu widget ke widget lainnya, Wt menggunakan sistem sinyal/slot. Slot adalah metode apa pun dari turunan WObject. Untuk menghubungkan sinyal dengan slot, satu-satunya persyaratan adalah tanda tangan metode slot harus kompatibel dengan definisi sinyal. Dengan cara ini setiap metode dapat digunakan sebagai slot, dan tidak perlu secara eksplisit menunjukkan metode tertentu sebagai slot (seperti yang diperlukan di Qt), dengan menempatkannya di bagian khusus. Meskipun demikian, Anda tetap dapat melakukannya jika ingin menekankan bahwa fungsi-fungsi ini dapat digunakan sebagai slot, atau jika Anda telah melakukan pekerjaan ekstra untuk mengoptimalkan implementasi metode-metode ini sebagai kode JavaScript sisi klien (lihat di bawah).

Sinyal dapat dibuat dengan menambahkan objek Signal<...> ke kelas Anda. Anda dapat menentukan hingga 6 argumen yang dapat bertipe arbitrer yang bersifat Copyable, yang dapat diteruskan melalui sinyal ke slot yang terhubung.

Pustaka ini mendefinisikan beberapa sinyal event pengguna pada berbagai widget, dan sangat mudah dan nyaman untuk menambahkan sinyal dan slot ke kelas widget untuk mengomunikasikan event dan memicu callback.

Event sinyal (EventSignal) adalah sinyal yang dapat dipicu secara internal oleh pustaka untuk merespons event interaktivitas pengguna. Kelas dasar abstrak WInteractWidget dan WFormWidget mendefinisikan sebagian besar sinyal event ini. Untuk bereaksi terhadap salah satu event ini, programmer menghubungkan slot yang ditentukan sendiri atau yang sudah ada ke sinyal tersebut.

Untuk menghubungkan sinyal dari beberapa pengirim ke satu slot, kami merekomendasikan penggunaan std::bind() untuk mengidentifikasi pengirim (atau sebaliknya tujuan) dari sinyal.

Contoh penggunaan:

std::vector<Wt::WPushButton*> buttons = ...;
for(unsigned i = 0; i < buttons(); ++i) {
 buttons[i]->clicked().connect(std::bind(&Keyboard::handleClick, i));
}
void Keyboard::handleClick(int i) {
 t->setText(WString("Anda menekan tombol {1}").args(i));
}

Kelas

Wt::SignalBase
Kelas dasar abstrak dari sebuah sinyal.
Wt::EventSignalBase
Kelas dasar abstrak dari sebuah sinyal event.
Wt::WMouseEvent
Kelas yang menyediakan detail untuk event mouse.
Wt::WKeyEvent
Kelas yang menyediakan detail untuk event keyboard.
Wt::WDropEvent
Kelas yang menyediakan detail untuk event drop.
Wt::WScrollEvent
Kelas yang menyediakan detail untuk event scroll.
Wt::WTouchEvent
Kelas yang menyediakan detail untuk event sentuhan.
Wt::WGestureEvent
Kelas yang menyediakan detail untuk event gesture.
Wt::JSignal< A >
Sinyal untuk menyampaikan panggilan JavaScript ke C++.
Wt::JSlot
Slot yang hanya diimplementasikan dalam kode JavaScript sisi klien.
Wt::WObject
Kelas dasar untuk objek yang berpartisipasi dalam sistem sinyal/slot.
Wt::Signal< A >
Sinyal yang menyebarkan event ke pendengar.
Wt::EventSignal< E >
Sinyal yang menyampaikan event antarmuka pengguna.

Enumerasi

Enumerasi untuk kode tombol. Berikut adalah kode tombol yang mengidentifikasi tombol pada keyboard. Semua tombol yang tercantum dapat diidentifikasi di semua browser dan keyboard (Barat). Sebuah Key dikembalikan oleh WKeyEvent::key(). Jika Anda ingin mengidentifikasi karakter, Anda harus menggunakan metode WKeyEvent::charCode() sebagai gantinya. Lihat juga WInteractWidget::keyWentDown dan WInteractWidget::keyWentUp.

EnumeratorDeskripsi
UnknownKunci tidak dikenal.
EnterTombol Enter.
TabTombol Tab.
BackspaceTombol Backspace.
ShiftTombol Shift.
ControlTombol Control.
AltTombol Alt.
PageUpTombol Page Up.
PageDownTombol Page Down.
EndTombol End.
HomeTombol Home.
LeftTombol Panah Kiri.
UpTombol Panah Atas.
RightTombol Panah Kanan.
DownTombol Panah Bawah.
InsertTombol Insert.
DeleteTombol Delete.
EscapeTombol Escape.
F1Tombol fungsi F1.
F2Tombol fungsi F2.
F3Tombol fungsi F3.
F4Tombol fungsi F4.
F5Tombol fungsi F5.
F6Tombol fungsi F6.
F7Tombol fungsi F7.
F8Tombol fungsi F8.
F9Tombol fungsi F9.
F10Tombol fungsi F10.
F11Tombol fungsi F11.
F12Tombol fungsi F12.
SpaceSpasi.
ATombol 'A'
BTombol 'B'
CTombol 'C'
DTombol 'D'
ETombol 'E'
FTombol 'F'
GTombol 'G'
HTombol 'H'
ITombol 'I'
JTombol 'J'
KTombol 'K'
LTombol 'L'
MTombol 'M'
NTombol 'N'
OTombol 'O'
PTombol 'P'
QTombol 'Q'
RTombol 'R'
STombol 'S'
TTombol 'T'
UTombol 'U'
VTombol 'V'
WTombol 'W'
XTombol 'X'
YTombol 'Y'
ZTombol 'Z'
Key_1Tombol '1'
Key_2Tombol '2'
Key_3Tombol '3'
Key_4Tombol '4'
Key_5Tombol '5'
Key_6Tombol '6'
Key_7Tombol '7'
Key_8Tombol '8'
Key_9Tombol '9'
Key_0Tombol '0'

Enumerasi untuk pengubah keyboard. Lihat juga WMouseEvent::modifiers() dan WKeyEvent::modifiers().

EnumeratorDeskripsi
NoneTidak ada pengubah.
ShiftTombol Shift ditekan.
ControlTombol Control ditekan.
AltTombol Alt ditekan.
MetaTombol Meta ditekan (tombol "Windows" atau "Command" (Mac)).
© 2026 - Semua hak dilindungi undang-undang. PT dengan modal Rp 10.000.000.000. Jl. Jend. Sudirman Kav. 52-53, Jakarta Selatan 12190