Bukan solusi yang sempurna tetapi Anda dapat menggunakan Geometry Generator yang menambahkan garis yang divisualisasikan untuk mewakili persimpangan. Anda kemudian dapat mengatur ini untuk tumpang tindih fitur garis asli.
Tambahkan layer simbol baru dengan mengklik tanda plus dan pilih Geometry generatortipe layer simbol sebagai. Setel tipe geoemtry ke LineString / MultiLineStringdan gunakan ekspresi berikut:
intersection($geometry, geometry(get_feature( 'polygonLayer','fieldName','value')))
Anda perlu menambahkan detail tentang poligon spesifik Anda di mana:
polygonLayer adalah nama lapisan poligon Anda
fieldName adalah nama bidang
value adalah nilai fitur dari poligon spesifik Anda

Perhatikan bahwa untuk mewarnai garis visual, Anda mungkin perlu melakukannya dari properti Draw effect :

Ini adalah hasilnya (perhatikan bahwa garis visual tidak tumpang tindih dengan garis asli sepenuhnya sehingga saya memodifikasi sedikit offset):

Dan tanpa poligon:

Edit:
Jika Anda ingin ini diterapkan untuk setiap fitur garis yang memotong fitur poligon, buka Function Editor dan gunakan fungsi berikut (ubah nama polygon example_2untuk mencocokkan nama lapisan poligon Anda):
from qgis.core import *
from qgis.gui import *
@qgsfunction(args='auto', group='Custom')
def func(feature, parent):
polygon_layer = QgsMapLayerRegistry.instance().mapLayersByName( "polygon example_2" )[0]
feat_list = []
geoms = QgsGeometry.fromWkt('GEOMETRYCOLLECTION()')
for polygon_feat in polygon_layer.getFeatures():
if feature.geometry().intersects(polygon_feat.geometry()):
intersection = feature.geometry().intersection(polygon_feat.geometry())
feat_list.append(intersection)
for x in feat_list:
geoms = geoms.combine(x)
return geoms

Klik Muat kemudian buka tab Ekspresi dan ketik func(). Semoga hasilnya akan terlihat seperti berikut (menggunakan properti gaya yang sama yang disebutkan di atas):
