Changing Text Color in a Sugarcube Tutorial using Twine
Text widgets provide various editing options for text with multiple lines, including the ability to format its display settings such as font, text color, and background color. To demonstrate, let's highlight a specific section of text by specifying its indices and applying a tag.
- Changing Text Color in Twine's SugarCube Tutorial
- Styling Individual Passages in Twine's Sugarcube with CSS: A Guide
- Java Label Font Color Setting in RGB Format: A Guide
- Modifying the Text Widget in Tkinter to Highlight Specific Words
- How to set text color & font style in HTML?
- How to choose the color of the font?
- What is the syntax for text color?
Changing Text Color in Twine's SugarCube Tutorial
body
{
background-color: #f5fff0;
}
tw-passage
{
color: #22301a;
}
Twine 2.0 - How to change Main Text Color / Tutorial #4
Twine 2.0 - How to change Text Font / Tutorial #7
Twine 2.0 - How to change Hover Text Color / Tutorial
Styling Individual Passages in Twine's Sugarcube with CSS: A Guide
As I work on my Twine project using Sugarcube format, I am facing difficulty in styling specific passages with CSS. Despite using creating classes in CSS and assigning it to a passage, the styling is not being applied.
Solution:
The documentation for SugarCube provides various methods to customize a passage using its tags. As an instance, if a passage is tagged as "forest", the following illustrations are presented.
→ Using class selectors on
body.forest { background-image: url(forest-bg.jpg); }
body.forest .passage { color: darkgreen; }
body.forest a { color: green; }
body.forest a:hover { color: lime; }
→ Using [data-tag~="…"] attribute selectors on
body[data-tag~="forest"] { background-image: url(forest-bg.jpg); }
body[data-tag~="forest"] .passage { color: darkgreen; }
body[data-tag~="forest"] a { color: green; }
body[data-tag~="forest"] a:hover { color: lime; }
→ Using [data-tag~="…"] attribute selectors on
html[data-tag~="forest"] { background-image: url(forest-bg.jpg); }
html[data-tag~="forest"] .passage { color: darkgreen; }
html[data-tag~="forest"] a { color: green; }
html[data-tag~="forest"] a:hover { color: lime; }
Ensure that the CSS utilized in your story is placed within the Stylesheet section.
Java Label Font Color Setting in RGB Format: A Guide
How do I do something similar.
Change the font color of "lblPlay" using the RGB format.
I use Swing framework.
Thanks.
Solution 1:
If you attempt to alter the Color of a JLabel while using swing, you may simply proceed with it.
import java.awt.Color;
and then use it like
yourLabel.setForeground(Color.black) //For example black.
or construct the color with
yourLabel.setForeground(new Color(0, 0, 0)) //Provide the r g b values
For a more comprehensive response, it would be helpful to include a minimal example with code that can be compiled, or to specify the exact location of the error.
Solution 2:
Try to use:
JLabel title = new JLabel("Give me color", JLabel.CENTER);
Color myCustomColor = new Color(100,50,2);
title.setForeground(myCustomColor);
Solution 3:
When working with JavaFX, it is recommended to use either of the following options:
label.setTextFill(Color.rgb(red, green, blue));
Assuming that
red
,
green
, and
blue
are all integers, or alternatively you may utilize:
label.setTextFill(Color.web("rrggbb"));
The common hexadecimal RGB format is denoted by
"rrggbb"
.
Modifying the Text Widget in Tkinter to Highlight Specific Words
Python offers several alternatives for Graphical User Interface (GUI) development. Among these options, Python combined with the PyQt GUI toolkit presents a swifter approach for building GUI applications. Additionally, the Tk GUI toolkit furnishes a sophisticated interface that follows an object-oriented paradigm.
To develop GUI applications with Tkinter, there are several steps that we need to adhere to.
- Import Tkinter module.
- Create the main window.
- Customize the graphical user interface by including different widgets based on the specified needs.
- The primary event loop is to execute particular tasks whenever the user triggers them.
Advanced options for editing and formatting text are available in Text widgets. These options include changing the font, text color, and background color of the displayed text using multiple lines . Additionally, tabs and marks can be used for locating and editing specific sections of data. Images can also be inserted into the text using insert borders . All text can be formatted according to the desired requirements.
The format for the input is as follows: Text (main, selection, ...).
The parameters include the master window and widget options, which can be specified as key-value pairs separated by commas. The master window is the parent window, while the widget options offer various customization choices.
The function should produce a Text object as its output.
To illustrate, let's consider the first scenario where we would like to highlight a particular section of text by defining its indices and applying a tag to it. This can be achieved using tag_add and tag_config.
Python3
The following codes are included in the document:
-
# import all functions from the tkinter
-
from
,
tkinter
,
import
,
*
-
-
# Create a GUI window
-
root
,
=
,
Tk()
-
-
# Create a text area box
-
# for filling or typing the information.
-
text
,
=
,
Text(root)
-
-
# insert given string in text area
-
text.insert(INSERT,
,
"Hello, everyone!
"
,
)
-
-
text.insert(END,
,
"This is 2020.
"
,
)
-
-
text.insert(END, "Pandemic has resulted
-
,
in
,
economic slowdown worldwide")
-
-
text.pack(expand
,
=
,
1
,
, fill
,
=
,
BOTH)
-
-
# add tag using indices for the
-
# part of text to be highlighted
-
text.tag_add(
,
"start"
,
,
,
"2.8"
,
,
,
"1.13"
,
)
-
-
#configuring a tag called start
-
text.tag_config(
,
"start"
,
, background
,
=
,
"black"
,
,
-
,
foreground
,
=
,
"red"
,
)
-
-
# start the GUI
-
root.mainloop()
|
Output :
The following example allows the user to highlight text according to their preference by selecting the desired text. This is accomplished through the use of tag_configure and tag_add.
Python3
The following codes are listed below:
# import all functions from the tkinter
import
tkinter as tk
from
tkinter.font
import
Font
# create a Pad class
class
Pad(tk.Frame):
# constructor to add buttons and text to the window
def
__init__(
self
, parent,
*
args,
*
*
kwargs):
tk.Frame.__init__(
self
, parent,
*
args,
*
*
kwargs)
self
.toolbar
=
tk.Frame(
self
, bg
=
"#eee"
)
self
.toolbar.pack(side
=
"top"
, fill
=
"x"
)
# this will add Highlight button in the window
self
.bold_btn
=
tk.Button(
self
.toolbar, text
=
"Highlight"
,
command
=
self
.highlight_text)
self
.bold_btn.pack(side
=
"left"
)
# this will add Clear button in the window
self
.clear_btn
=
tk.Button(
self
.toolbar, text
=
"Clear"
,
command
=
self
.clear)
self
.clear_btn.pack(side
=
"left"
)
# adding the text
self
.text
=
tk.Text(
self
)
self
.text.insert(
"end"
,
"Pandemic has resulted in economic slowdown worldwide"
)
self
.text.focus()
self
.text.pack(fill
=
"both"
, expand
=
True
)
#configuring a tag called start
self
.text.tag_configure(
"start"
, background
=
"black"
, foreground
=
"red"
)
# method to highlight the selected text
def
highlight_text(
self
):
# if no text is selected then tk.TclError exception occurs
try
:
self
.text.tag_add(
"start"
,
"sel.first"
,
"sel.last"
)
except
tk.TclError:
pass
# method to clear all contents from text widget.
def
clear(
self
):
self
.text.tag_remove(
"start"
,
"1.0"
,
'end'
)
# function
def
demo():
# Create a GUI window
root
=
tk.Tk()
# place Pad object in the root window
Pad(root).pack(expand
=
1
, fill
=
"both"
)
# start the GUI
root.mainloop()
# Driver code
if
__name__
=
=
"__main__"
:
# function calling
demo()
|
Output :
Prior to choosing the text and clicking on the highlight option:
Once you've chosen the text and clicked on the highlight button.