Kivy: SDL_dropfile рдЙрдиреНрдирдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдлрд╝рд░ре░ 2017  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: kivy/kivy

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ

  • рдУрдПрд╕: рд╡рд┐рдВрдбреЛрдЬрд╝
  • рдПрд╕рдбреАрдПрд▓: 2.0.5

рд╡рд┐рд╡рд░рдг

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╣рдж рддрдХ рдХреЗрд╡рд▓ SDL2 рдореБрджреНрджрд╛ рд╣реИ, рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдбреЙрдХреНрд╕ рдореЗрдВ рдХреБрдЫ рдЙрд▓реНрд▓реЗрдЦ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореБрдЭреЗ рдЙрдирдХреЗ рдмрдЧ рдЯреНрд░реИрдХрд░ рдореЗрдВ рдХреЛрдИ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЛрдИ рд╡рд╣рд╛рдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдкреЛрдХ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдЬрд╛рдВрдЪ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреА рдорд╛рд╕реНрдЯрд░/рдЯреНрд░рдВрдХ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рде рддрдп рдирд╣реАрдВ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдХреЛрдб рдФрд░ рд▓реЙрдЧ

from kivy.app import runTouchApp
from kivy.core.window import Window

def _drop(window, file_path):
    print(file_path)

Window.bind(on_dropfile=_drop)
runTouchApp()

рдПрд╕рдбреАрдПрд▓2 рдЙрджрд╛рд╣рд░рдг

#include <SDL2/SDL.h>

int main() {
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_Window *window = SDL_CreateWindow(
        "Drag-and-Drop",
        SDL_WINDOWPOS_UNDEFINED,
        SDL_WINDOWPOS_UNDEFINED,
        800, 600, SDL_WINDOW_SHOWN
    );

    int running = 1;
    while (running) {
        SDL_Event event;
        while (SDL_PollEvent(&event)) {
            switch (event.type) {
            case SDL_DROPFILE:
                printf("Dropped file: %s\n", event.drop.file);
                break;
            case SDL_QUIT:
                running = 0;
                break;
            }
        }
    }

    SDL_DestroyWindow(window);
    SDL_Quit();
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рдореЗрдВ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рднреА 5 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдЙрдиреНрдирдд рдЕрдиреБрдорддрд┐ рд╡рд┐рдВрдбреЛ рд╕реЗ рднреА рдЫреЛрдбрд╝ рджрд┐рдпрд╛? рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ; рдореИрдВ рдЙрдиреНрдирдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдореЗрдВ рднреА рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░/рдлрд╝рд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓реВрдВрдЧрд╛; рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдУрдПрд╕ рдЪреАрдЬ рд╣реИ рдЬреЛ рдЖрдо рддреМрд░ рдкрд░ рдРрд╕реЗ рд╕рдВрджрд░реНрдн рдПрдХреНрд╕рдЪреЗрдВрдЬреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рд╣реИ; рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдмрдлрд░ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдмрдВрдЯреВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ sudo python multiple_dropfile.py рдпрд╛ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдЙрдиреНрдирдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд░реЗрдВ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ cmd /c explorer рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЙрдиреНрдирдд рдЕрдиреБрдорддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХреЛрдИ рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реИ рдФрд░ рдШрдЯрдирд╛ рд╕реЗ рдХреБрдЫ рднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд╛рдХрдИ рдореЗрдВ; рд╢рд╛рдпрдж рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ Kivy рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ; рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд╛рдпрдж рдПрд╕рдбреАрдПрд▓ рдХреЗ рдмрд╛рд╣рд░ рд╣реИред рдпрд╣ рддрдм рддрдХ рд╣реИ рдЬрдм рддрдХ рд╣рдо рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдкреНрд░рддрд┐ рдПрдордЖрдИрд╕реА рд╕реНрддрд░ рдкрд░ рд╕рдВрджреЗрд╢ рдкрд╛рд╕рд┐рдВрдЧ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ; рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдпрд╣ рднреА рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдкрдХреЛ Linux рдкрд░ рднреА рдРрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛрдЧреА; рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рднреА рд╕реВрдбреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЧрд╣рд░рд╛ рдкреГрдердХреНрдХрд░рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ; рднрд▓реЗ рд╣реА рд╡реЗ рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕реВрдбреЛ рдФрд░ рдЧреИрд░-рд╕реВрдбреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рд╣реЛрддрд╛ рд╣реИред рддреЛ рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рднреА рдЦреЛрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рднреА рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП; рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╡рд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЙрдирдХреА рд╕рдорд╕реНрдпрд╛ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣ рд╕рд┐рд░реНрдл рдореЗрд░реЗ 2 рд╕реЗрдВрдЯ рд╣реИред

рд╣рдореЗрдВ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

blurymind picture blurymind  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nim4ka picture nim4ka  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

phelantomas picture phelantomas  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

davied9 picture davied9  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thagh05t picture thagh05t  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ