Çözüldü PyQt'de değişen arka plan nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

BayCoder

Hectopat
Katılım
8 Mart 2021
Mesajlar
533
Makaleler
4
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Merhabalar, şu an Python PyQt ile bir program yazıyorum Linux üzerinde. Programı Linux'daki temaya göre değişecek şekilde arka plan rengi yapabilir miyim? Xfce, Openbox, KDE ayarlarının siyah tema seçilince siyah arka plan rengi olup da beyaz tema seçilince beyaz arka plan rengi olması gibi.
@300319 hocam var mı bir bilginiz?
 
Son düzenleme:
Çözüm
@300319 hocam İngilizce arama yaptım lakin pek birşey bulamadım. Sistemi didik didik aramaya başladım ben de ve şunları buldum ama ne kadar işe yarar bilemiyorum;

~/.config/gtk-3.0/settings.ini
Kod:
[Settings]
gtk-application-prefer-dark-theme=false
gtk-button-images=1
gtk-cursor-theme-name=macOS-Mojave-Cursor
gtk-cursor-theme-size=24
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-font-name=Noto Sans 10
gtk-icon-theme-name=Lovely-orange-dark
gtk-menu-images=1
gtk-primary-button-warps-slider=false
gtk-theme-name=Adapta-DeepOrange-Nokto
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none

~/.config/xsettingsd/xsettingsd.conf
Kod:
Gtk/EnableAnimations 1
Gtk/DecorationLayout "icon:minimize,maximize,close"
Gtk/PrimaryButtonWarpsSlider 0
Gtk/ToolbarStyle 3
Gtk/MenuImages 1
Gtk/ButtonImages 1
Gtk/CursorThemeSize 24
Gtk/CursorThemeName "breeze_cursors"
Net/IconThemeName "breeze"
Gtk/FontName "Noto Sans,  10"

~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
Kod:
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xsettings" version="1.0">
  <property name="Net" type="empty">
    <property name="ThemeName" type="string" value="Adapta-DeepOrange-Nokto"/>
    <property name="IconThemeName" type="string" value="Lovely-orange-dark"/>
    <property name="DoubleClickTime" type="empty"/>
    <property name="DoubleClickDistance" type="empty"/>
    <property name="DndDragThreshold" type="empty"/>
    <property name="CursorBlink" type="empty"/>
    <property name="CursorBlinkTime" type="empty"/>
    <property name="SoundThemeName" type="empty"/>
    <property name="EnableEventSounds" type="empty"/>
    <property name="EnableInputFeedbackSounds" type="empty"/>
  </property>
  <property name="Xft" type="empty">
    <property name="DPI" type="empty"/>
    <property name="Antialias" type="empty"/>
    <property name="Hinting" type="empty"/>
    <property name="HintStyle" type="empty"/>
    <property name="RGBA" type="empty"/>
  </property>
  <property name="Gtk" type="empty">
    <property name="CanChangeAccels" type="empty"/>
    <property name="ColorPalette" type="empty"/>
    <property name="FontName" type="empty"/>
    <property name="MonospaceFontName" type="empty"/>
    <property name="IconSizes" type="empty"/>
    <property name="KeyThemeName" type="empty"/>
    <property name="ToolbarStyle" type="empty"/>
    <property name="ToolbarIconSize" type="empty"/>
    <property name="MenuImages" type="empty"/>
    <property name="ButtonImages" type="empty"/>
    <property name="MenuBarAccel" type="empty"/>
    <property name="CursorThemeName" type="empty"/>
    <property name="CursorThemeSize" type="empty"/>
    <property name="DecorationLayout" type="empty"/>
    <property name="DialogsUseHeader" type="empty"/>
    <property name="TitlebarMiddleClick" type="empty"/>
  </property>
  <property name="Gdk" type="empty">
    <property name="WindowScalingFactor" type="empty"/>
  </property>
</channel>


Style olarak GTK teması kullanmanız lazım, GTK üzerinde sistem teması otomatik olarak geçerli oluyormuş sanırım, "PyQT GTK" şeklinde araştırırsanız daha detaylı bilgi bulabilirsiniz.
Bakayım hocam.
Style olarak GTK teması kullanmanız lazım, GTK üzerinde sistem teması otomatik olarak geçerli oluyormuş sanırım, "PyQT GTK" şeklinde araştırırsanız daha detaylı bilgi bulabilirsiniz.
Hocam tam detaylı bilgi bulamadım maalesef. Bulduklarım da pek iş yapmadı. Nasıl yapacağım hakkında bir bilginiz var mı?
@300319 @257106 kıymetli hocalarım. Bugün QT Designer üzerinde çalışırken bir GTK2 ile önizleme özelliği olduğunu gördüm. Daha önce bende yoktu sanırım yeni geldi. GTK2 ile önizleme yapıldığına göre ben bu programı GTK2 ile veya GTK 3 ile çalışmaya zorlayabilir miyim?





Evet çözümü buldum. Kodların arasına app.setStyle("gtk2") kodunu ekleyince GTK ile çalışıyor. Diğerleri için de yapabilirsiniz mesela : app.setStyle("Fusion")

[CODE title="Kodun Tamamı"]app = QApplication([])
app.setStyle("gtk2")
window = AyarlarSayfa()
window.show()
app.exec_()[/CODE]
Linux üzerinde tema ayarlarını nereye kayıt ettiğini tam olarak bilmiyorum doğrusu.

@Kerem00 belki biliyordur.
 
Linux üzerinde tema ayarlarını nereye kayıt ettiğini tam olarak bilmiyorum doğrusu.

Ben kayıt ettiği yere bir bakayım o zaman hocam. Dosya yolu yetiyor mu yoksa dosya da lazım mı? Başka bakmam gereken yer var mı?
 
Dosyadan daha çok kayıt etme ve kayıt anahtarı değeri önemli. Biraz araştır bakalım internette. Mutlaka bir kaynak bulursun. İngilizce ararsan daha iyi sonuç elde edersin.
 
Style olarak GTK teması kullanmanız lazım, GTK üzerinde sistem teması otomatik olarak geçerli oluyormuş sanırım, "PyQT GTK" şeklinde araştırırsanız daha detaylı bilgi bulabilirsiniz.
 
@300319 hocam İngilizce arama yaptım lakin pek birşey bulamadım. Sistemi didik didik aramaya başladım ben de ve şunları buldum ama ne kadar işe yarar bilemiyorum;

~/.config/gtk-3.0/settings.ini
Kod:
[Settings]
gtk-application-prefer-dark-theme=false
gtk-button-images=1
gtk-cursor-theme-name=macOS-Mojave-Cursor
gtk-cursor-theme-size=24
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-font-name=Noto Sans 10
gtk-icon-theme-name=Lovely-orange-dark
gtk-menu-images=1
gtk-primary-button-warps-slider=false
gtk-theme-name=Adapta-DeepOrange-Nokto
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none

~/.config/xsettingsd/xsettingsd.conf
Kod:
Gtk/EnableAnimations 1
Gtk/DecorationLayout "icon:minimize,maximize,close"
Gtk/PrimaryButtonWarpsSlider 0
Gtk/ToolbarStyle 3
Gtk/MenuImages 1
Gtk/ButtonImages 1
Gtk/CursorThemeSize 24
Gtk/CursorThemeName "breeze_cursors"
Net/IconThemeName "breeze"
Gtk/FontName "Noto Sans,  10"

~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
Kod:
<?xml version="1.0" encoding="UTF-8"?>

<channel name="xsettings" version="1.0">
  <property name="Net" type="empty">
    <property name="ThemeName" type="string" value="Adapta-DeepOrange-Nokto"/>
    <property name="IconThemeName" type="string" value="Lovely-orange-dark"/>
    <property name="DoubleClickTime" type="empty"/>
    <property name="DoubleClickDistance" type="empty"/>
    <property name="DndDragThreshold" type="empty"/>
    <property name="CursorBlink" type="empty"/>
    <property name="CursorBlinkTime" type="empty"/>
    <property name="SoundThemeName" type="empty"/>
    <property name="EnableEventSounds" type="empty"/>
    <property name="EnableInputFeedbackSounds" type="empty"/>
  </property>
  <property name="Xft" type="empty">
    <property name="DPI" type="empty"/>
    <property name="Antialias" type="empty"/>
    <property name="Hinting" type="empty"/>
    <property name="HintStyle" type="empty"/>
    <property name="RGBA" type="empty"/>
  </property>
  <property name="Gtk" type="empty">
    <property name="CanChangeAccels" type="empty"/>
    <property name="ColorPalette" type="empty"/>
    <property name="FontName" type="empty"/>
    <property name="MonospaceFontName" type="empty"/>
    <property name="IconSizes" type="empty"/>
    <property name="KeyThemeName" type="empty"/>
    <property name="ToolbarStyle" type="empty"/>
    <property name="ToolbarIconSize" type="empty"/>
    <property name="MenuImages" type="empty"/>
    <property name="ButtonImages" type="empty"/>
    <property name="MenuBarAccel" type="empty"/>
    <property name="CursorThemeName" type="empty"/>
    <property name="CursorThemeSize" type="empty"/>
    <property name="DecorationLayout" type="empty"/>
    <property name="DialogsUseHeader" type="empty"/>
    <property name="TitlebarMiddleClick" type="empty"/>
  </property>
  <property name="Gdk" type="empty">
    <property name="WindowScalingFactor" type="empty"/>
  </property>
</channel>


Style olarak GTK teması kullanmanız lazım, GTK üzerinde sistem teması otomatik olarak geçerli oluyormuş sanırım, "PyQT GTK" şeklinde araştırırsanız daha detaylı bilgi bulabilirsiniz.
Bakayım hocam.
Style olarak GTK teması kullanmanız lazım, GTK üzerinde sistem teması otomatik olarak geçerli oluyormuş sanırım, "PyQT GTK" şeklinde araştırırsanız daha detaylı bilgi bulabilirsiniz.
Hocam tam detaylı bilgi bulamadım maalesef. Bulduklarım da pek iş yapmadı. Nasıl yapacağım hakkında bir bilginiz var mı?
@300319 @257106 kıymetli hocalarım. Bugün QT Designer üzerinde çalışırken bir GTK2 ile önizleme özelliği olduğunu gördüm. Daha önce bende yoktu sanırım yeni geldi. GTK2 ile önizleme yapıldığına göre ben bu programı GTK2 ile veya GTK 3 ile çalışmaya zorlayabilir miyim?





Evet çözümü buldum. Kodların arasına app.setStyle("gtk2") kodunu ekleyince GTK ile çalışıyor. Diğerleri için de yapabilirsiniz mesela : app.setStyle("Fusion")

[CODE title="Kodun Tamamı"]app = QApplication([])
app.setStyle("gtk2")
window = AyarlarSayfa()
window.show()
app.exec_()[/CODE]
 
Son düzenleyen: Moderatör:
Çözüm
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…