Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Python: Listbox ja merkit

Sivun loppuun

ohjelmaohjelma [27.11.2021 20:11:14]

#

Iltaa. Olen tänään lyönyt päätäni seinään oikein kunnolla, kun seuraava ongelma ei ole selvinnyt, vaikka olen kyllä käyttänyt mielikuvitusta:-D

Ongelma on seuraava:

Teen tähän nyt seuraavan merkkijonon:

dfsgdgds sdfgsdg rddgsfgsdfg regserwse gsdgsdfgsgsdg
ds sdfgsdg rddgsfgsdfg regserwse gsdg gdsfg asfa ere
sfgsdfg regserwse gsd fsdf gsdf    sdfsdf   sfsdfsdf

Niin kuin tässä näkyy(pitäisi näkyä), niin rivien pituus on sama.

Listbox tekee aina näin(yritän kuvailla).

dfsgdgds sdfgsdg rddgsfgsdfg regserwse gsdgsdfgsgs
ds sdfgsdg rddgsfgsdfg regserwse gsdg gdsfg asfa ere fddg
sfgsdfg regserwse gsd fsdf gsdf    sdfsdf   sfsdfsdfd

Miten listbox saadaan toimimaan siten, että merkkijonot näyttäsivät samalta kuin ylhäällä näkyy.

Kiitos

Python3

Mod. lisäsi kooditagit tasalevyiseen tekstiin.

Metabolix [27.11.2021 20:32:50]

#

Aika epäselvää, mikä se ongelma sinusta on. Tuossa sinulla on eri tekstit ylemmässä ja alemmassa laatikossa ja sen takia alemmassa rivit ovat eri mittaiset, mutta et varmaan tarkoittanut ihan tätä.

Kerro jotain ihan oikeita tekstejä ja selitä sanoilla, miten niiden pitäisi näkyä ja miten ne näkyvät.

Ja mikä Listbox on kyseessä? Tkinter? Qt? Muu?

neosofta [28.11.2021 01:24:17]

#

Käytä Listboxissa tasalevyistä (monospaced) fonttia, esim. Courier New, Lucida Console, Consolas, jne.

ohjelmaohjelma [29.11.2021 20:23:16]

#

Hei. Kyse on Tkinteristä. Kun kirjoitan idleen:
print("123456")
print("abcdef")
Niin nämä näkyvät näytöllä täysin samassa kohtaa. Sitten kun laitan ne näkymään listboxissa, niin merkit venyvät eripituisiksi.

Jos fontin valinta auttaa, niin minkä valitsen ja miten sen teen.

Kiitos

peran [29.11.2021 20:36:55]

#

ohjelmaohjelma kirjoitti:

Hei. Kyse on Tkinteristä. Kun kirjoitan idleen:
print("123456")
print("abcdef")
Niin nämä näkyvät näytöllä täysin samassa kohtaa. Sitten kun laitan ne näkymään listboxissa, niin merkit venyvät eripituisiksi.

Jos fontin valinta auttaa, niin minkä valitsen ja miten sen teen.

Johtuneen fontista. Sopivia fontti-perheitä on "Cuorier"-fontit ja "mono"-fontit.
Päätteessä on yleensä "mono"-perheen fontti.

Valitettavasti en muista, kuinka tkinter:ssä määritellään fontti, itse kokeilisin html:n fonttitagien kokeilemista aluksi, mutta en jaksa sitäkään testata puolestasi. Siis näkyykö tagit tageina vai "ymmärtääkö"-listbox hötömölöä.

Edit - Jaksoin kuitenkin googlata, mutta ei toimivuustakuuta...

https://stackoverflow.com/questions/39107336/python-tkinter-lisbox-bold

Määrittele font:n family...

... saattaa toimia.

neosofta [29.11.2021 20:45:06]

#

Fontin valinta on ainoa mikä tässä tapauksessa toimii! Täältä voi opiskella koko roskan

ohjelmaohjelma [30.11.2021 08:28:17]

#

Vielä...

Tkinter TextBox tekee tuon suoraan oikein, mutta se ei korvaa ListBoxia.

Nyt tutustun tuohon fonttiasiaan, kiitos.

Grez [30.11.2021 08:31:35]

#

ohjelmaohjelma kirjoitti:

Tkinter TextBox tekee tuon suoraan oikein, mutta se ei korvaa ListBoxia.

Mikä on "oikein". Tarkoitat ilmeisesti, että tekee siten kun tässä tapauksessa haluat. Itse ajattelisin, että normaalisti graafisessa käyttöliittymässä listboxissa on "oikein" tai siis tyypillistä olla vaihtelevanlevyinen fontti.

En nyt oikein edes keksi käyttötapausta, jossa listboxissa pitäisi olla tasalevyinen fontti. Toki jos halutaan vaikka useampi sarake niin yksi tapa toteuttaa se, olisi käyttää tasalevyistä fonttia, mutta parempi ratkaisu olisi varmasti tukea sarakkeita oikeasti.

ohjelmaohjelma [30.11.2021 09:40:40]

#

Hei, sain ongelman ratkaistuksi ja varsin helposti. Avasin tekstinkäsittelyohjelman ja kirjoitin seuraavat kaksi riviä:

123456789012
abcdefghijkl

Siten rupesin käymään fontteja läpi. Huomasin, että "Consolas" ratkaisee pulmani.

Kiitos, nyt pääsin eteenpäin.

neosofta [30.11.2021 09:50:30]

#

🎅 Melko terävä havainto, sanoisin


Sivun alkuun

Vastaus

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

Tietoa sivustosta