Çö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
531
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.
@Eray T hocam var mı bir bilginiz?
 
Son düzenleme:
Çözüm
@Eray T 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ı?
@Eray T @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?

gtk2.png




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]
@Eray T 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ı?
@Eray T @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?

gtk2.png




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

Yeni konular

Geri
Yukarı