Minulla on yksi todellinen ihmetyksenaihe, tässä:
Button(h_ikkuna, text="Tallenna muutos", command=talleta_asento).grid(row=1, column=1, sticky=W, pady=4) Label(h_ikkuna, text=h_lista[nro]).grid(row=1, column=2)
Tämä on siis ohjelmanpätkä missä painikkeen viereen oikealle puolelle pitäisi tulla merkki listalta. Tämä lista taas tulee suoraan tekstitiedostosta.
Ongelma on siinä, että tuo painike ja merkki eivät tule täysin samalle korkeudelle, vaan merkki tulee hieman korkeammalle kuin painike. En ole keksinyt mitään keinoa millä nuo kaksi asiaa saisi vierekkäin.
Kiitos vastauksista.
Kokeilin vielä lisätä taustavärin tälle:
Label(h_ikkuna, text=h_lista[nro],bg="tomato").grid(row=1, column=2)
Huomasin, että tuo taustaväri ei tule vain merkin päälle, vaan jatkuu melkein merkin koon verran sen alapuolelle.
Tämän varmaan täytyy liittyä siihen, että tuo lista on peräisin tekstitiedostosta?
Onko kenelläkään mitään tietoa mistä on kyse ja onko ilmiölle mitään tehtävissä.
Kiitos
Katso, mitä muuttuja sisältää, esim. print(repr(muuttuja)). Jos lopussa on ylimääräinen rivinvaihtomerkki, poista se strip-funktiolla.
Hei ja kiitos avustasi, toivottavasti nyt tämä näkyy oikein.
Katsoin tekstitiedostoa tarkemmin ja tiedoksi se, että siinä ei ole yhtään merkitöntä riviä. En oikein tiennyt mitä etsiä, mutta tällä ohjelmapätkällä lataan listan juuri ennen sen käyttöä ohjelmassa, pitäisikö rivinvaihto näkyä tässä:
tiedosto = open(hdata.strip()+".txt", "r") hlista=tiedosto.readlines() tiedosto.close()
Kiitos avusta.
Rivinvaihtomerkki on tekstitiedostossa jokaisen rivin lopussa. (Eihän teksti ole kovalevyllä mitenkään riveinä, vaan tietokone tunnistaa ”rivit” tietystä erikoismerkistä.)
Voit nähdä rivinvaihtomerkit edellä ehdottamallani koodilla:
print(repr(hlista[0])) # tulostaa esim. 'moi\n' tai 'moi\r\n', missä '\n' tai '\r\n' on rivinvaihto
Voit poistaa rivinvaihtomerkin vaikka rstrip-funktiolla:
uusiteksti = hlista[0].rstrip('\r\n')
Esittelin aiemman kysymyksen yhteydessä koodin, jossa rivinvaihtomerkit poistetaan jo tiedoston avaamisen yhteydessä; sitäkin voit hyödyntää.
Hieno homma, sain tuon toimimaan ohjeellasi ".rstrip('\r\n')"
Isot kiitokset:-)
Aihe on jo aika vanha, joten et voi enää vastata siihen.