Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python Tkinter web

Macro [16.12.2009 15:35:04]

#

Terve

Onko Pythonilla jotain toimintoa, jolla saisin haettua jonkin nettisivun Tkinter ikkunaan?

Entä, pystynkö jotenkin klikkaamaan ohjelmassa automaattisesti vaikka koordinaatteihin 10,50? Ja miten voi laskea hiiren koordinaatit ilman että pitää painaa mihinkään?

Pystyykö jotenkin lukemaan joistain tietyistä koordinaateista (Esim. 10,50 - 20,60) jonkin tekstin, mikäli tiedetään fontin koko ja tyyppi?

jalski [17.12.2009 22:40:32]

#

Kannattaa tutustua Tk:n canvas widgettiin.

Macro kirjoitti:

Entä, pystynkö jotenkin klikkaamaan ohjelmassa automaattisesti vaikka koordinaatteihin 10,50? Ja miten voi laskea hiiren koordinaatit ilman että pitää painaa mihinkään?

Miksi tarvitsee automaattisesti klikata? Ainahan voit kutsua haluttua callback-ohjelmaa tarvittaessa tai käskyttää Tk:n widgettejä suoraan.

Hiiren koordinaatit saa ainakin Infernon Tk-toteutuksessa seurantaan bindaamalla motion event haluttuun widgettiin.

Macro kirjoitti:

Pystyykö jotenkin lukemaan joistain tietyistä koordinaateista (Esim. 10,50 - 20,60) jonkin tekstin, mikäli tiedetään fontin koko ja tyyppi?

En tiedä onnistuuko ihan noin, mutta tutustu canvas widgettiin ja tageihin. Lisäksi ainakin Infernolla canvas tukee komentoja, joilla pystyy valitsemaan esim. annettua koordinaattia lähimmän objektin tai tietyn alueen sisään jäävän objektin.

Chiman [17.12.2009 22:48:29]

#

jalski kirjoitti:

Miksi tarvitsee automaattisesti klikata?

Macro halunnee tehdä johonkin nettipeliin automatiikkaa.

AutoIT (Windowsilla) tai Firefox + Greasemonkey voi hoitaa homman.

Macro [18.12.2009 15:50:44]

#

Chiman kirjoitti:

jalski kirjoitti:

Miksi tarvitsee automaattisesti klikata?

Macro halunnee tehdä johonkin nettipeliin automatiikkaa.

AutoIT (Windowsilla) tai Firefox + Greasemonkey voi hoitaa homman.

Oikeastaan en. Tarkoitus on tehdä ohjelma, joka korvaa hiiren liikuttamisen nuolinäppäimillä ja klikkaukset entteriin.

# -*- coding: utf-8 -*-

from Tkinter import *
import threading

root = Tk()
x, y, = 0, 0

def hiiren_sijainti(event):
    global x, y

    x = event.x
    y = event.y

def sijainti():
    root.bind("<Button-1>", hiiren_sijainti)

def tulosta_sijainti():
    global x, y
    vanha_x, vanha_y = 0, 0

    nappi = Button(root, text = "x: 0, y: 0")
    nappi.pack()

    while True:
        if x <> vanha_x:
            if y <> vanha_y:
                nappi.config(text = "x: " + str(x) + ", y: " + str(y))

        vanha_x = x
        vanha_y = y



root.minsize(width = 200, height = 100)
threading.Thread(target = sijainti).start()
threading.Thread(target = tulosta_sijainti).start()

mainloop()

Tämä toimii kyllä, mutta jos naputtaa oikein nopeasti niin osa jää välistä. Lisäksi, en löytänyt täältä miten saisin hiiren sijainnit päivittymään ilman klikkausta.

Lisäksi, miten voi siis "painaa" automaattisesti tiettyyn kohtaan hiirellä?

Macro [18.12.2009 17:08:51]

#

Nähtävästi <Motion> toimi ilman klikkausta, mutta miten voin klikata hiirellä? Enkä myöskään löytänyt mitään systeemiä, jolla voisi hakea esimerkiksi Ohjelmointiputkan keskustelun ja selata sitä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta